docs: stop implying matrix/bash/forge is a closed todo-producer list

This commit is contained in:
damocles 2026-08-04 00:06:19 +02:00
commit 642377c5e0
10 changed files with 57 additions and 31 deletions

View file

@ -101,11 +101,13 @@ the login flow first (`NeedsLogin`). (The forge notification poller
used to be spawned here too; it is its own process now —
`hive-forge-notify`, see [`forge.md`](../forge.md).)
`spawn_todo_socket` opens the todos store, the socket the in-container
producers dial (matrix / bash / forge-notify daemons), and an
in-process `disk_watch` todo producer for low state-disk space. See
`spawn_todo_socket` opens the todos store and the socket the in-container
producers dial. Matrix / bash / forge-notify daemons and the in-process
`disk_watch` todo producer (low state-disk space) are the built-in
producers, but the socket accepts any `subsystem` marker — a
user-configured MCP server can push its own todos the same way. See
[`docs/persistence.md`](../persistence.md#state-dirs-per-agent) for
what each todo producer watches and how the store + `get_loose_ends`
what each built-in todo producer watches and how the store + `get_loose_ends`
merge work.
Plugin install failures are not fatal: each entry comes back as a

View file

@ -162,8 +162,10 @@ are acked, the harness won't receive wake-prompts for them. A `{
marked: N }` pill surfaces the count. After the drain the inbox list
empties on reload (the filter is `acked_at IS NULL`, so drained
messages disappear). Todos flyout ("loose-ends v2"): the harness-local
todos other subsystems (matrix, forge, bash) push at this agent
(`GET /api/todos`) — each row shows the producing subsystem, an
todos other subsystems push at this agent (`GET /api/todos`) — matrix,
forge, and bash are the built-in producers, but any user-configured MCP
server can push its own via the same in-agent socket. Each row shows the
producing subsystem, an
optional source label, a summary, and age. A checkbox per row plus a
select-all / select-none / `✓ mark done` bulk row above the list POSTs
the checked ids to `POST /api/todos/mark-done`, which dismisses them