docs: handbook states what the code does (fact sweep fixes)
This commit is contained in:
parent
1042bf65db
commit
409e7ee5a0
1 changed files with 64 additions and 69 deletions
|
|
@ -44,10 +44,16 @@ at a given viewport width. Two columns:
|
|||
- **Pills cluster** (`.agent-header-pills`, right-aligned): status
|
||||
badges (`StatusChips.tsx`) and flyout triggers together in one row,
|
||||
so the header reads as one identity zone + one status/actions zone:
|
||||
- **Alive badge**: `● alive` (green) / `⊘ rate limited` (red) /
|
||||
`◌ needs login` / `◌ logging in` / `○ offline` / `… connecting`.
|
||||
- **State badge**: `💤 idle` / `🧠 thinking` / `📦 compacting` /
|
||||
`○ offline` / `… booting` + age suffix.
|
||||
- **Status badge**, one badge for liveness and turn state: `● alive`
|
||||
(green) / `⊘ rate limited` (red) / `◌ needs login` / `◌ logging in` /
|
||||
`○ offline` / `… connecting` / `💤 idle` / `🧠 thinking` /
|
||||
`📦 compacting` / `… booting` + age suffix, or paused. Selecting it
|
||||
opens a menu: `⏸ pause` / `▶ resume` (via the same hive-c0re-owned
|
||||
`/api/pause/<name>` / `/api/resume/<name>` endpoints the dashboard
|
||||
uses; pausing needs a write this unprivileged process can't make
|
||||
directly), `■ cancel turn` (only while a turn is running),
|
||||
`↻ new session` and `🔓 logout`. Cancel turn, new session and logout
|
||||
need a second selection to confirm.
|
||||
- **Model and effort badges** (`model · <name>`, `effort · <level>`):
|
||||
display only. Each tooltip says where the value comes from
|
||||
(`state.model_source` / `state.effort_source`: set on the swarm,
|
||||
|
|
@ -65,10 +71,6 @@ at a given viewport width. Two columns:
|
|||
- **Ctx / cost badges**: `ctx · 142k` (last inference's prompt size,
|
||||
tooltip shows % of context window) / `cost · 1.3M` (cumulative
|
||||
tokens billed across every inference in the last turn).
|
||||
- **Pause badge** (`⏸ pause` / `▶ resume`): toggles via the same
|
||||
hive-c0re-owned `/api/pause/<name>` / `/api/resume/<name>`
|
||||
endpoints the dashboard uses (pausing needs a write this
|
||||
unprivileged process can't make directly).
|
||||
- **Inbox / todos pills** (`📬 inbox · N` / `📋 todos · N`): hidden
|
||||
when empty; selecting it opens the matching flyout in the side panel.
|
||||
- **Profile avatar**: the signed-in user's initial, opening a popover with
|
||||
|
|
@ -162,7 +164,7 @@ If the todo store errors or doesn't answer for any id, the endpoint returns
|
|||
## Live view
|
||||
|
||||
Each agent runs an `events::Bus`: a `tokio::sync::broadcast<LiveEvent>`
|
||||
plus a sqlite-backed history at `/state/hyperhive-events.sqlite`.
|
||||
plus a sqlite-backed history at `/harness/hyperhive-events.sqlite`.
|
||||
The harness emits `TurnStart { from, body, unread }`,
|
||||
`Stream(value)` (one per parsed stream-json line), `Note`,
|
||||
`TurnEnd { ok, note }`. Each event also carries a `ts` (unix
|
||||
|
|
@ -238,10 +240,9 @@ on this page calls it now.
|
|||
|
||||
Successful POSTs return 200 (no 303 redirects). Error responses
|
||||
use semantic status codes: **400** for missing/malformed input
|
||||
(`body` required, unknown model name, unrecognised effort level),
|
||||
**409** for retryable state conflicts (turn in flight when
|
||||
`/compact` fires), **500** only for genuine server/transport
|
||||
failures. The matching
|
||||
(`/api/todos/mark-done` with no todo ids), **500** only for genuine
|
||||
server/transport failures. `/compact` never conflicts: it queues
|
||||
and runs at the end of the current turn. The matching
|
||||
mutations fire `LiveEvent` variants on the per-agent bus, so the
|
||||
client doesn't refetch `/api/state` on submit — the SSE stream
|
||||
delivers the new state faster anyway.
|
||||
|
|
|
|||
Loading…
Reference in a new issue