Merge pull request 'To-be 46: an agent session asks the operator through its module and reads the answer by a key (issue 589, ADR 0332)' (#334) from design/589-a-session-asks-the-operator into main
This commit was merged in pull request #334.
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 within seconds 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