To-be 46: an agent session asks the operator through its module and reads the answer by a key (issue 589, ADR 0332)
mesh/merge-gate head a5333f8ecbcc merged into trunk 87f24d6b6903 — pass: the change touches no module of the mesh's graph
mesh/repo-check head a5333f8ecbcc merged into trunk 87f24d6b6903 — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request

Gives ADR 0332 its home in the design of the conversation with the operator, beside how an asker gets its answer.
This commit is contained in:
jochen
2026-10-12 22:44:52 +02:00
parent 87f24d6b69
commit a5333f8ecb
@@ -4,6 +4,7 @@ status: in-progress
code: [mesh-controller, mesh-tools, mesh-sdk, mesh-catalog]
updated: 2026-10-12
decisions:
- "ADR 0332"
- "ADR 0308"
- "ADR 0286"
- "ADR 0277"
@@ -210,6 +211,19 @@ optionally a group, for batching. The words pass the content rule.
The event **`ask-answered`**, with the ask's id and any conversation handle. An asker may also call
`ask` with a bounded wait (a few minutes), or poll `asks <id>`.
### An agent session asks
*Added 2026-10-12, ADR 0332 (issue 589):* an agent session asks through the operator's agent module, which
is the asker: the ask goes out under that module's own name, so the bus proves who asks, and the router
gains no verb. The session gives a headline, the context in plain words, two to four options with exactly
one recommended and why, what it does if nobody answers, its own name, and an expiry of five minutes to a
day less ten minutes. Every option is an approval bound to the question, so only a channel that proves who
answered carries it, never the desk. The session gets a key at once and reads the answer by it later:
waiting, the option chosen with who chose it and where, ended without a choice, or not proven when the
router's record does not hold to the question asked. At most two such questions are open at once, so one
open ask is always left for a proposed instruction section. The answer informs the session and authorises
nothing.
### The router's verbs and events
*Amended 2026-10-08, ADR 0259:* an ask and its cancel are accepted on the `operator-channel` seat under