@startuml !theme plain top to bottom direction title CASAN Plan 13 - Baseline + Chat/Loop Widget Complete and Remaining Follow-ups skinparam backgroundColor #FAFAFA skinparam componentStyle rectangle skinparam shadowing false skinparam ArrowColor #333333 skinparam componentBorderColor #555555 skinparam packageBorderColor #999999 skinparam packageBackgroundColor #FFFFFF actor "Ops / Admin" as ops actor "Platform Lead" as lead package "DONE - Plan 13 Control Panel" #E8F5E9 { component "React Ops Console\nmonitoring + Settings + Approvals\nIncidents + FinOps/SLO" as ui_done #A9DFBF component "NestJS Control API\nread telemetry + governed writes" as api_done #A9DFBF component "Harness governance core\nsettings + RBAC + approvals\nkill-switch + H5 audit" as gov_core #A9DFBF component "Local-prod deploy smoke\nTLS + oauth2-proxy + mock OIDC\nnginx auth_request" as local_prod #D5F5E3 component "Command Center baseline\n9 evidence-backed widgets\nbriefing + ticker + evidence drawer" as command_done #D5F5E3 component "Loop/Chat widget\nbudget + replay drawer + chat ticker\nextends Command Center contract" as loop_widgets_done #D5F5E3 component "Approvals escalation\nturn ESCALATED -> inbox\nJWT + SoD + reason" as approvals_done #D5F5E3 } package "NEXT - offline platform follow-ups" #FFF8E1 { component "RAI / Data Gov view\nretention + model-card + PII report" as rai #F9E79F component "CODEGEN-as-loop\nH4 guarded codegen\nloop-certified artifacts" as codegen_loop #F9E79F } package "EXTERNAL / MANAGED PROD" #FDEDEC { component "Enterprise IdP + real cert + host\npromote local-prod OIDC flow" as managed_oidc #F1948A component "Managed alerts + on-call\nSlack/PagerDuty webhook" as alerts #F1948A component "Billing usage API live\nprovider cost ground truth" as billing #F1948A } ops --> ui_done : operate ui_done --> api_done : API calls api_done --> gov_core : wraps harness CLIs api_done --> local_prod : verified behind auth proxy api_done --> command_done : GET /api/v1/command command_done --> gov_core : provenance + audit state loop_widgets_done --> command_done : specialized widget approvals_done --> gov_core : proposals + SoD lead --> rai : next if staying offline rai --> gov_core : read RAI + policy artifacts codegen_loop --> gov_core : guarded loop-run managed_oidc ..> local_prod : replace mock IdP/cert alerts ..> gov_core : route real incidents billing ..> command_done : ground-truth FinOps note right of rai Recommended next: 1. If no external infra: build RAI view or Plan-18 CODEGEN slice. 2. If infra is available: promote local-prod OIDC to managed prod. 3. Keep chat widgets on the existing Command envelope. 4. Keep every metric evidence-backed with provenance. end note @enduml