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
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user