diff --git a/docs/web-ui/dashboard.md b/docs/web-ui/dashboard.md index ee05f26b..9691bf49 100644 --- a/docs/web-ui/dashboard.md +++ b/docs/web-ui/dashboard.md @@ -59,15 +59,33 @@ share a tab because they're the same concept ("something is waiting on you"). **P3NDING APPR0VALS** — the queue (see "Approval card" below). -The R3QU3ST SP4WN form lives at the top of this section. +The R3QU3ST SP4WN form lives at the top of this section. A +`pending · N` / `history · N` tab pair switches between the live +queue and the last 30 resolved approvals (see "Approval card" for +the history row shape). -**M1ND H4S QU3STI0NS** — pending operator-targeted `ask` -questions (amber pulsing border). Free-text fallback always -rendered alongside any option list; `multi=true` renders options -as checkboxes; submit merges selections + free text -comma-joined. Each row has a `✗ CANC3L` button. Questions with -a `ttl_seconds` show a `⏳ MM:SS` chip; the host-side watchdog -auto-cancels with `[expired]` when the deadline fires. +**M1ND H4S QU3STI0NS** — pending `ask` calls waiting on the +operator, with amber pulsing border. Anatomy of each card: + +- **Filter chips** — `all · N`, `@operator`, `@peer`, plus one + chip per participant name (`@asker` / `@target`). Clicking a + chip narrows the visible list; selection persists in + localStorage so a tab switch doesn't lose the filter. +- **Question card** — timestamp · asker → target · body text + (with file-path links). Operator-targeted questions (`target = + null`) show `▸ ANSW3R`; peer-targeted questions (`target = + agent`) show `⤿ 0V3RR1D3` so the operator can unblock an + agent-to-agent exchange. Questions with a `ttl_seconds` show a + `⏳ MM:SS` live countdown chip; the host-side watchdog resolves + with `answerer = "ttl-watchdog"` on expiry. +- **Answer form** — free-text textarea (Enter = submit, + Shift+Enter = newline) + optional option list (radio for + single-select, checkboxes for `multi=true`). Submit merges + selected options + free text comma-joined into a single + `answer` field. `✗ CANC3L` is a separate form so the submit + merge handler doesn't interfere. +- **◆ answ3red (N)** — collapsible `
` below the pending + list; shows the last 20 resolved questions with their answers. ## SYST3M tab