diff --git a/agent-team/DEPLOY-R720.md b/agent-team/DEPLOY-R720.md index 4cf2128..76a6e09 100644 --- a/agent-team/DEPLOY-R720.md +++ b/agent-team/DEPLOY-R720.md @@ -165,12 +165,28 @@ not change to `0.0.0.0`). See the deploy script's step 6 for how to start it. ### Status dashboard (optional, LAN/VPN-only, READ-ONLY) -`agent_team/status_page.py` serves a tiny self-refreshing HTML page showing the -coordinator queue: each task's short `thread_id`, description, current phase and -status; which tasks have an **open** pending question (blocked on the human gate) -vs. progressing; active/parked counts; and recent `budget_ledger` spend. It opens -the SQLite ledger **READ-ONLY** (`mode=ro`) and has **no mutating endpoints and -no auth**. +`agent_team/status_page.py` serves a **live visual pipeline map** of the +coordinator. The top of the page is a hand-rolled inline-SVG diagram of the +agent-team DAG (`INTAKE → CLARIFY ⇄ human gate → PLAN ⇄ REVIEW → +[BUILD → VERIFY → DISPATCH] → DONE`); each stage node is labelled with its model +role (Claude on subscription for CLARIFY/PLAN/VERIFY, GPT-4.1 cross_reviewer for +REVIEW, Gemini for SCAN, DeepSeek fast_coder for BUILD, the Slack owner for the +HUMAN GATE) and is colour-coded by live state — idle / active / awaiting-human +(an **open** pending question) / parked — with a count badge of tasks in that +stage. Hovering (or keyboard-focusing) a node shows what it is working on: the +short `thread_id`, description, status, and waiting age of each task there. +Below the map, the original detail tables remain: all tasks, the human-gate +wait-list, and recent `budget_ledger` spend. + +The page **auto-updates without a full reload**: a `GET /api/state` JSON sidecar +returns the same snapshot, and an inline vanilla-JS poller (`fetch()`, no +libraries, no CDN) re-paints node states, counts, the cards, the tooltip data, +and the "last updated" clock every ~4s in place, so hover/scroll/focus survive. +A `