Skip to main content

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/spine for live Supabase-scoped project data.
  • /api/inbox for pending approvals.
  • /api/approvals for approve/reject/approve-and-execute actions.
  • /api/board only 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.