live 소스가 없어도 blank 화면 대신 운영 루프와 evidence path를 먼저 보여줍니다.
TwinCity operator front door
실시간 연결이 비어 있어도 첫 화면을 빈 상태로 두지 않고, 지금 바로 확인할 수 있는 운영 맥락과 walkthrough를 먼저 보여줍니다. 과장된 control room 연출보다 reviewer가 바로 따라갈 수 있는 health → reports → events 순서를 앞세웠습니다.
live 소스가 없어도 blank 화면 대신 운영 루프와 evidence path를 먼저 보여줍니다.
health → reports → events 순서로 user와 reviewer가 바로 읽을 수 있게 정리했습니다.
과장된 control room 연출보다 dispatch · handoff · SLA proof 흐름을 앞세웁니다.
Recommended first click
01 · proof maphealth · reports · events 중 어떤 surface를 먼저 열어야 하는지 reviewer 기준으로 바로 고릅니다.
proof map을 먼저 읽고, health가 정상이면 reports로, 연결 신호가 비어 있으면 events로 바로 내려가 다음 확인 경로를 이어갑니다.
/api/proof-route-mapWhy this landing exists
SSR 단계에서 바로 읽히는 홈 카피와 proof 링크를 먼저 렌더링합니다.
health, reports, events로 이어지는 첫 클릭 경로를 한 섹션에 묶었습니다.
완전한 live 제어실처럼 포장하지 않고, 현재 강한 surface를 앞세웠습니다.
Decision support
demo인지 live인지, reviewer-safe 링크가 무엇인지 먼저 확인한 뒤 다음 surface를 고릅니다.
/api/healthdispatch · SLA · export가 같은 이야기인지 한 화면에서 확인한 뒤 공유 artifact를 만듭니다.
/reports첫 두 단계가 읽힌 뒤 queue와 timeline으로 내려가 operator action order를 보여줍니다.
/eventsRole-fit signals
이기종 provider payload를 EventItem 계약으로 정규화하고, summary/export contract까지 reviewer-safe surface로 연결합니다.
eventAdapter.ts → /api/reports/summary → /api/schema/reportUI를 보기 전에 ingest posture, trust boundary, export auth posture를 먼저 검토할 수 있게 runtime surface를 분리했습니다.
/api/health → /api/meta → /api/runtime-scorecarddispatch lane, shift handoff, export payload를 같은 이야기로 읽게 해서 운영 continuity와 rollout 대화를 쉽게 만듭니다.
/api/runtime-brief → /api/reports/handoff → /api/reports/exportReviewer-ready kit
control tower posture and trust boundary
/api/metaRuntime Scorecardingest posture, export auth, and SLA snapshot in one compact contract
/api/runtime-scorecardShift Handoff APIdeterministic shift handoff digest with overdue queue risk
/api/reports/handoffReport Export APIserver-generated JSON and CSV report snapshots
/api/reports/export