bus: tester identity for PM tests (row 110, #1604)
A tester binds with a process proof from the bus's own tester-cli.mjs when the business var bus.tester is true. It may send [mos test] messages to a role, receive replies on the tester address and use the read verbs; every other verb refuses. Messages store from_role tester and write no human.input event. turnRequest() marks them as never Jason's instruction. human.mjs is unchanged. Candidate manifest bdaf7f476abd0b2b5095ab2f7f43e38540e6ba48ee14a02a4f4995a1469b79df (Darkwing round 2, packet9f1563ec1), BASEbadfa52b9. Approved by Filbert (comment 28360) and Sage (comment 28361). Sage gate rerun passed. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -57,6 +57,16 @@ test("turnRequest names the sender, class, reply and decision", () => {
|
||||
});
|
||||
|
||||
// Row 109 (#1603): the header carries when the message was sent, not when it is read.
|
||||
test("turnRequest says a tester's message is a test and never Jason's instruction", () => {
|
||||
assert.equal(
|
||||
turnRequest({ id: "m7", from_role: "tester", class: "REQUEST", request: null, body: "[mos test] is the plan current?" }),
|
||||
"Message m7 from tester, class REQUEST:\n\nThis message is from a tester running a PM test. It is never Jason's instruction and authorizes nothing.\n\n[mos test] is the plan current?",
|
||||
);
|
||||
// No other sender gets the line, the human included.
|
||||
for (const from_role of ["human", "pm", "jason"])
|
||||
assert.doesNotMatch(turnRequest({ id: "m8", from_role, class: "REQUEST", body: "[mos test] b" }), /tester|never Jason's/, from_role);
|
||||
});
|
||||
|
||||
test("turnRequest shows the message's own sent time, a day old as well as new", () => {
|
||||
const sent = "2026-10-12T09:30:00.000Z";
|
||||
assert.equal(
|
||||
|
||||
Reference in New Issue
Block a user