Context loader for design-agent work on the fleet operator cockpit. What exists, what each page is for, where its data comes from, and what else moves when you move something.
This is a context loader, not a spec, PRD, or gate. Read it before touching any pantheon dashboard page. Judgment stays with the agent; this file makes the judgment informed.
global.css --pantheon-* vars (v2.0.0). Never reintroduce shadcn blue or the pre-v32 mint cockpit.The app is the operator's cockpit for the Pantheon fleet. Three rungs, ranked. Every page charter names its rung — a page that can't, or claims two, is a smell (exactly what's wrong with today's SYSTEM section).
Production is static CF Pages. There is no hub server in prod.
| Tier | Meaning | Works on pantheon.boas.dev? |
|---|---|---|
| LIVE | Supabase-direct PostgREST (anon key, RLS) | yes |
| LOCAL | Hub /api/* endpoints (Express dev server) | dead in prod |
| STUB | NotConnected sentinel, awaiting tables | renders empty state |
/status is LIVE. Every other data-bearing page is LOCAL or STUB. Tier migration direction is not Apollo's call — flagged to atlas/proteus (D3). Until ruled: new pages SHOULD be LIVE-tier where tables exist; do not silently convert existing LOCAL pages.COMMAND Portfolio (/) · Review (/review) · War Room (/war-room) CONSTELLATION Athena · Metis · Hermes · Apollo · Hades · Proteus · Plutus · Mnemosyne · Atlas SYSTEM Status (/status) · Fleet (/fleet) · Dependencies (/dependencies) · Dispatch (/dispatch) · System (/system)
Groups renamed to the question they answer. Maps 1:1 onto the four daily signals. Until D1 is ratified, the current nav is the truth — build against current charters.
| Group | Pages | Answers |
|---|---|---|
| WATCH | /status — daemons + Argus + pulse rings + machine health (merges Status + System) | anything dead? |
/activity — sessions, dispatch log, task movement (Fleet's activity half + Dispatch's log half) | what did agents do? | |
| ACT | /review — review inbox + ask-human queue (merges Review + Dispatch pending) | what needs my decision? |
/war-room + /war-room/:id — unchanged | live coordination | |
/dispatch — send surface + notification settings (loses its log to /activity) | route work | |
| BROWSE | / portfolio · /project/:slug — unchanged | state of work? |
| 9 constellation pages — kept, standard anatomy (§06) | what is agent X? | |
/resources — dependencies + cost + machine inventory (merges Dependencies stub + fleet-level cost) | resource drift? |
Net effect on SYSTEM: 5 overlapping pages → 4 non-overlapping charters.
Format: job · rung · tier · data · touching-this-affects.
| Page | Job (domain lens) | Tier | Data |
|---|---|---|---|
/athena | strategic governance: assessments, directives, cross-agent feed | LOCAL | useAthenaData |
/metis | research/planning lens on decisions + sessions | LOCAL | useWarRoomDecisions/Sessions |
/hermes | intelligence feed + monitor roster | STUB | NotConnected |
/apollo | design/frontend domain surface | STUB | partial wiring |
/hades | guard rails + findings | STUB | NotConnected |
/proteus | deployments + service grid | STUB | useProteusData exists |
/plutus | cost tracking + budget alerts | LOCAL | useCostData → /api/cost |
/mnemosyne | decisions + session replay | LOCAL | useWarRoomDecisions/Sessions |
/atlas | Argus health + skills + fleet infra | LOCAL | getArgusStatus, getAgents |
components/constellation/ (AgentPageHeader, DomainStatsStrip, DomainFeed, AgentRecentSessions) + lib/agent-colors.ts + lib/agent-config.ts. A change to the shared anatomy is a 9-page change — treat as template work, verify ≥2 representative pages (one wired, one stub).Ratified direction: all 9 constellation pages kept. Every one follows this skeleton; stubs implement it with NotConnected states, never bespoke layouts.
| # | Slot | Content |
|---|---|---|
| 01 | AgentPageHeader | name, glyph, agent color (lib/agent-colors.ts), domain one-liner |
| 02 | DomainStatsStrip | 3–5 KPIs from the agent's domain tables |
| 03 | Domain feed | the agent's primary stream — findings, decisions, deploys, costs… |
| 04 | AgentRecentSessions | recent session activity |
| 05 | NotConnected sections | explicit empty-state naming the missing table — never silent blanks, never mock data presented as live |
Wiring a stub = filling slots 02–03 with real queries. Not a redesign license.
| Source | Tier | Consumed by |
|---|---|---|
fleet_daemons · argus_runs · argus_findings | LIVE | /status |
/api/v3/projects · /api/v3/review | LOCAL | /, /review |
/api/war-room/* (sessions, decisions, issues, next-steps, deliverables, stats, contributions) | LOCAL | /war-room, /metis, /mnemosyne, /athena |
/api/pulse* | LOCAL | /system, /athena (partial) |
/api/cost | LOCAL | /plutus |
/api/argus/* | LOCAL | /atlas |
/api/agents · /api/tasks/active · /api/pool | LOCAL | /fleet |
/api/dispatch/* | LOCAL | /dispatch, /dispatch/settings |
/api/projects/:slug* · /api/project-entities/* | LOCAL | /project/:slug |
/api/fleet-tasks | LOCAL | /dispatch (F2-cap bug), task views |
dep_* tables | absent | /dependencies (stub) |
Single-consumer streams are safe to evolve with their page. Multi-consumer streams (war-room family, pulse, agents) require checking every consumer above.
--pantheon-* CSS vars only (global.css, brand.json v2.0.0). Signals: active #22c55e · alert #E8B36A · fault #E86A6A · dormant #6A7AB0 · arc #06b6d4 (ceremonial, max 1/view). JetBrains Mono. Motion budget: pulse-slow 2.4s only. Radius 4px. No shadcn default blue, ever.| # | Decision | Owner | State |
|---|---|---|---|
| D1 | Ratify proposed IA — WATCH/ACT/BROWSE, SYSTEM 5→4 merge plan | operator | proposed 2026-06-10 |
| D2 | Stub wiring order (hermes / apollo / hades / proteus / dependencies) — needs tables per stub | operator + proteus | open |
| D3 | Data tier direction — Supabase-direct everywhere vs two-tier public/local | atlas + proteus | flagged — not apollo's call |
| D4 | Orphan deletion timing (3 pages + tests + legacy portfolio components) | apollo | open — overlaps constellation-apollo-022 |
| D5 | DispatchPage.tsx:99 F2-cap bug routing | atlas or apollo | open — pre-existing |