{"count":5,"runtime_layers":[{"layer":"A","name":"Role Registry","description":"Daftar \"karyawan AI\" dengan JD, boundary, budget, tools, escalation. Setiap role = 1 row di tabel `ai_roles`.","repo_owner":"Lane-eco-budget-control-system","storage":"D1 (ai_roles table)","status":"🟡 F2 build","effort_days":5,"api_endpoints":["GET /api/v1/roles","GET /api/v1/roles/:id","POST /api/v1/roles (founder-only)","PATCH /api/v1/roles/:id","POST /api/v1/roles/:id/pause","POST /api/v1/roles/:id/resume"],"canon_protects":["#1 Human Intent","#8 Tenant Isolation","#16 AI-Role Payload"],"icon":"fa-address-book","color":"indigo"},{"layer":"B","name":"Work Queue","description":"Ticket system: siapa kerja apa, SLA, priority, approval required, status tracking, evidence link.","repo_owner":"Lane-eco-budget-control-system + webapp","storage":"D1 (work_tickets) + KV (active_tickets cache)","status":"🟡 F2 build","effort_days":4,"api_endpoints":["GET /api/v1/tickets (status filter)","POST /api/v1/tickets","PATCH /api/v1/tickets/:id","POST /api/v1/tickets/:id/approve","POST /api/v1/tickets/:id/reject"],"canon_protects":["#12 Human Confirmation Gate","#13 Dokumen=Proof"],"icon":"fa-list-check","color":"amber"},{"layer":"C","name":"Execution Graph","description":"Agent runtime — LangGraph backbone + OpenAI Agents SDK routing + smolagents workers. Durable long-running eksekusi dengan HITL.","repo_owner":"Sovereign-ecosystem (Tower) + Cloudflare Workers + Durable Objects","storage":"Durable Object state + R2 checkpoints","status":"🟠 F3 build (LangGraph adoption)","effort_days":14,"api_endpoints":["POST /api/v1/exec/start/:ticket_id","GET /api/v1/exec/:run_id/status","POST /api/v1/exec/:run_id/resume (after approval)"],"canon_protects":["#4 Live State dari DB","#17 Every Action to Ledger","#18 Framework Commodity"],"icon":"fa-diagram-project","color":"violet"},{"layer":"D","name":"Governance Ledger","description":"Audit immutable — WORM trigger (DELETE/UPDATE critical blocked), hash chain SHA256, JWT approval signature, R2 evidence. SOVEREIGN CORE.","repo_owner":"Sovereign-os-platform","storage":"D1 (governance_events WORM) + R2 (evidence + daily backup)","status":"✅ LIVE (schema) · 🟡 WORM trigger F2","effort_days":7,"api_endpoints":["POST /api/v1/events (append-only)","GET /api/v1/events (tenant-scoped, filter by type/actor/time)","GET /api/v1/events/:id/evidence (R2 signed URL)","GET /api/v1/events/chain-verify (hash chain integrity)"],"canon_protects":["#3 Canon Earned","#5 Status Jujur","#8 Tenant Isolation","#17 Every Action to Ledger"],"icon":"fa-scale-balanced","color":"rose"},{"layer":"E","name":"Founder Console","description":"UI mobile-first untuk founder: AI workers list, pending approvals, Copilot brief, revenue scorecard, 1-tap approve/reject.","repo_owner":"webapp (Hub)","storage":"localStorage (v6) → D1 (ADR-006 F2+)","status":"✅ LIVE v6 · 🟡 approval flow F2","effort_days":3,"api_endpoints":["GET /api/v1/console/summary","GET /api/v1/console/pending-approval","POST /api/v1/console/approve/:ticket_id","POST /api/v1/console/reject/:ticket_id","GET /api/v1/console/copilot-brief","GET /api/v1/console/ledger/recent"],"canon_protects":["#1 Human Intent Layer 1","#12 Human Confirmation Gate"],"icon":"fa-mobile-screen-button","color":"emerald"}]}