hive-c0re, docs: sweep remaining stale ask/answer-dashboard references
This commit is contained in:
parent
47cac50e6e
commit
46183795dd
6 changed files with 47 additions and 50 deletions
|
|
@ -174,14 +174,16 @@ the dashboard's "mark all read" (unbounded, per-agent).
|
|||
### Question routing (Ask / Answer)
|
||||
|
||||
`AgentRequest::Ask` (and the manager-flavour mirror) surfaces a
|
||||
structured question that either lands in the operator's dashboard
|
||||
queue or in a peer agent's inbox. The recipient is the `to` field:
|
||||
structured question that either lands in the operator-question queue
|
||||
or in a peer agent's inbox. The recipient is the `to` field:
|
||||
|
||||
- `to = None` or `to = Some("operator")` — routes to the
|
||||
operator-question queue. The dashboard renders the question with
|
||||
any `options` as a chip strip plus a free-text fallback (`Other…`)
|
||||
so the operator is never trapped by an incomplete list. The
|
||||
legacy `AskOperator` variant collapses into this case.
|
||||
operator-question queue. ⚠️ The dashboard's whole ask/answer
|
||||
surface (the UI that used to render this queue and let the operator
|
||||
reply) has been removed — an operator-targeted question currently
|
||||
has no reader anywhere; this routing case is being removed too as
|
||||
the same effort continues. The legacy `AskOperator` variant
|
||||
collapses into this case.
|
||||
- `to = Some(<agent>)` — peer Q&A. The target agent receives a
|
||||
`HelperEvent::QuestionAsked { id, asker, question, options, multi }`
|
||||
in their inbox. They reply via `AgentRequest::Answer` (or
|
||||
|
|
@ -191,21 +193,23 @@ queue or in a peer agent's inbox. The recipient is the `to` field:
|
|||
|
||||
Shape fields are uniform across both targets:
|
||||
|
||||
- `options` is advisory — the dashboard chips are decoration over a
|
||||
free-text fallback; peer-agent recipients see the list in their
|
||||
`QuestionAsked` event and can return any string.
|
||||
- `multi = true` lets the answerer pick multiple options (checkboxes
|
||||
in the dashboard, a hint in the peer-agent event). The answer
|
||||
comes back as a single string with selections joined by `", "`.
|
||||
- `options` is advisory — a list is never enforced; peer-agent
|
||||
recipients see it in their `QuestionAsked` event and can return any
|
||||
string regardless.
|
||||
- `multi = true` is a hint that the answerer should treat `options` as
|
||||
a multi-select rather than pick-one. The answer comes back as a
|
||||
single string with selections joined by `", "`.
|
||||
- `ttl_seconds` auto-cancels with answer `[expired]` (and `answerer:
|
||||
"ttl-watchdog"`) when the wait becomes moot. `None` = wait
|
||||
indefinitely or until manual cancel.
|
||||
|
||||
Response shape is always `QuestionQueued { id }` — the asker stores
|
||||
the id and correlates the asynchronous answer event when it lands.
|
||||
Authorisation on `Answer`: only the question's `target` agent (or
|
||||
the operator via the dashboard) is permitted to reply; an answer
|
||||
attempt from anyone else fails the wire-side check.
|
||||
Authorisation on `Answer`: only the question's `target` agent, or the
|
||||
operator, is permitted to reply; an answer attempt from anyone else
|
||||
fails the wire-side check. (The operator's only path to invoke this
|
||||
was the now-removed dashboard — see the note above; the
|
||||
authorisation rule itself is unchanged.)
|
||||
|
||||
### Loose-ends wire shape
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue