sage: row 177 brief re-pinned to 89af38a83 after rows 175 and 176 moved broker.mjs; point 6 names the tester listener's chat refusal (serve.mjs:442) and 7332's x-mosaic-tester refusal (:454)
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
# Brief: tester threads (scoping)
|
||||
|
||||
Gitea #1675. Proposed owner Dewey, reviewer Filbert, gate owner Sage. Starts after row 176 is done. Line numbers are at
|
||||
origin/refactor 835941b7c. This is a scoping brief. The owner writes the design into the packet, and Sage approves it
|
||||
Gitea #1675. Proposed owner Dewey, reviewer Filbert, gate owner Sage. Starts after row 176 is done; 176 landed as 89af38a83.
|
||||
Line numbers are at origin/refactor 89af38a83 (re-pinned from 835941b7c on 2026-10-20, after rows 175 and 176 moved
|
||||
them). This is a scoping brief. The owner writes the design into the packet, and Sage approves it
|
||||
before any code.
|
||||
|
||||
## Why
|
||||
|
||||
Q173 says agents test the test system end to end as the tester (mos-0870). The Console's chat page and the window's
|
||||
W6/W7 checks need a thread conversation. Every thread verb in `packages/bus/src/broker.mjs` is human-only today:
|
||||
`thread.create` (:2282), `thread.list` (:2306), `thread.open` (:2320), `thread.send` (:2327) and
|
||||
`thread.messages` (:2354) each start with `this.#human(s)`. They record the human as the thread's owner,
|
||||
`thread.create` (:2295), `thread.list` (:2321), `thread.open` (:2335), `thread.send` (:2342) and
|
||||
`thread.messages` (:2369) each start with `this.#human(s)`. They record the human as the thread's owner,
|
||||
`thread_opens.by` and the message's `from_role 'human'` and `from_run 'human-cli'`.
|
||||
|
||||
## What the design has to settle
|
||||
@@ -22,10 +23,12 @@ W6/W7 checks need a thread conversation. Every thread verb in `packages/bus/src/
|
||||
3. Replies on a tester thread route to `tester` and never to the human's inbox. The human's view shows them as tester
|
||||
traffic.
|
||||
4. Whether a tester gets `assistant.stop` on its own threads only. Never on the human's.
|
||||
5. The `human.input` event on `thread.send` (:2351) has to say tester, or a tester thread needs its own event kind.
|
||||
5. The `human.input` event on `thread.send` (:2366) has to say tester, or a tester thread needs its own event kind.
|
||||
Check what the launcher and the runner do with the event first.
|
||||
6. The Console's tester listener (row 176) gets `/api/chat` for tester threads only, and 7332's chat stays the
|
||||
human's.
|
||||
human's. Today `startServer` refuses `chat` on the tester listener (`packages/webui/src/serve.mjs:442`) and
|
||||
`serve` leaves it null there, so every tester `/api/chat` write answers 403. Say what replaces that refusal and
|
||||
which mutant proves 7332 still refuses `x-mosaic-tester` on chat (:454).
|
||||
7. DDL: read `threads`, `thread_opens` and `messages` in the migrations for CHECKs before saying no schema change.
|
||||
|
||||
## Untouched
|
||||
|
||||
Reference in New Issue
Block a user