Home
Home is the main operating surface in web/index.html.
It combines:
- Morning board cards built from the scoped Supabase spine.
- Pending approval inbox.
- Transcript/demo ingest controls.
- Shared package navigation.
- Shared "Viewing as" selector and Ask SABLE widget from
app-shell.js.
Data Sources
Home reads:
/api/spinefor live Supabase-scoped project data./api/inboxfor pending approvals./api/approvalsfor approve/reject/approve-and-execute actions./api/boardonly for the legacy CMA-rendered board in the original fictional demo path.
Approval Behavior
In Supabase mode, the inbox uses approval rows rather than CMA memory-store drafts.
Approve and reject actions call:
POST /api/approvals
With bodies such as:
{ "action": "approve", "id": "approval-uuid" }
{ "action": "approve_and_execute", "id": "approval-uuid" }
{ "action": "reject", "id": "approval-uuid", "reason": "dismissed from Home inbox" }
Home shows Approve & execute only for executable asana_task_create approvals. Weekly updates, email drafts, scope flags, and SOW estimates are approved into the audit trail without external writes.
The route requires a valid Supabase session and admin/lead role for write actions.
Legacy Demo Behavior
When Supabase is not configured in demo mode, /api/inbox falls back to the CMA memory-store inbox.
That path is retained so the older fictional demo can still run, but it is not the production approval
queue. In SABLE_MODE=production, the app fails closed instead of serving the CMA fallback.