dashboard: spawn form moves under approvals; docs synced
submitting R3QU3ST SP4WN immediately queues an approval that lands in the very next list. the form belonged with that list, not at the top of containers — the agent doesn't exist yet at form time anyway. docs: claude.md grows operator_questions.rs / events.rs sqlite / broker vacuum to the file map; web-ui shape lists the actual current endpoint set (per-agent cancel/compact/history, dashboard tombstone purge/answer/spawn); live-view section now describes the state badge, sticky-bottom scroll, history backfill, and the terminal- embedded prompt with its slash commands; dashboard-action-surface rewritten around the new six-section page (containers / kept-state / questions / inbox / approvals / message-flow) and the two-line container row. new 'persistence + retention' section documenting both sqlite databases and their vacuum cadences. readme picks up the new mgr mcp surface (start/restart/ask_operator) + operator-side features list + ask_operator answer flow. todo trimmed of shipped items (bigger terminal / sticky scroll / cancel button / /compact trigger / /cancel command). new entry for the two-step spawn-with-preconfig flow.
This commit is contained in:
parent
c9647f4106
commit
897e7c07ae
4 changed files with 169 additions and 74 deletions
19
README.md
19
README.md
|
|
@ -29,8 +29,9 @@ host (NixOS, runs hive-c0re.service)
|
|||
│ manager additionally gets /agents RW)
|
||||
│
|
||||
├── hm1nd hive-m1nd serve : claude turn loop +
|
||||
│ MCP (send / recv / request_spawn / kill /
|
||||
│ request_apply_commit) + web UI on :8000
|
||||
│ MCP (send / recv / request_spawn / kill / start /
|
||||
│ restart / request_apply_commit / ask_operator)
|
||||
│ + web UI on :8000
|
||||
│
|
||||
└── h-<name> hive-ag3nt serve : claude turn loop +
|
||||
MCP (send / recv) + web UI on a hashed :8100-8999
|
||||
|
|
@ -39,13 +40,23 @@ host (NixOS, runs hive-c0re.service)
|
|||
Each turn: harness pops one inbox message (Recv long-polls server-side and
|
||||
wakes on a broker Sent event) → builds a wake prompt → spawns
|
||||
`claude --print --continue --output-format stream-json --mcp-config …` →
|
||||
streams JSON events into the per-agent SSE bus → claude drives any further
|
||||
`recv`/`send` itself via the embedded MCP server.
|
||||
streams JSON events into the per-agent SSE bus + a sqlite history db →
|
||||
claude drives any further `recv`/`send` itself via the embedded MCP server.
|
||||
|
||||
Operator surface per agent: terminal-themed live tail with a textarea
|
||||
prompt; slash commands `/help` `/clear` `/cancel` `/compact`; granular
|
||||
state badge (idle / thinking / offline) with age timer; cancel-turn
|
||||
button while thinking; sticky-bottom auto-scroll with "↓ N new" pill;
|
||||
event history backfilled on page load.
|
||||
|
||||
Config changes flow the other way: manager edits `/agents/<name>/config/agent.nix`
|
||||
(bind-mounted from the host's proposed repo) → commits → submits the sha as
|
||||
an approval → operator clicks ◆ APPR0VE on the dashboard → hive-c0re copies
|
||||
the file into the applied repo and `nixos-container update`s the agent.
|
||||
For decisions the manager needs human signal on, `ask_operator(question,
|
||||
options?, multi?)` queues a free-text/checkbox/radio form on the
|
||||
dashboard; the answer arrives later as a `HelperEvent::OperatorAnswered`
|
||||
in the manager's inbox.
|
||||
|
||||
## Host config
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue