Files
stack/agents/darkwing/work/queue-121/r2/mutants/mutant-b-thread-instance-missing.log
jason.woltjeandClaude Opus 5.5 58e85d0fa1 agents: Darkwing row 121 round 2 packet (#1615), rebased on 20d2b5788
Candidate manifest sha256 710d50866e77055b7231a53e3601bd2bab7686b722160f81ddda030875f67e9b,
30 files. Targeted gate green, 77 of 77 mutants killed, repro DIGESTS_OK.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 13:54:02 -05:00

94 lines
6.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
✔ endLaunch writes session.ended, releases the run claim and kills its capabilities (137.543464ms)
✔ endLaunch refuses an unknown run, a second end and a rebind of the ended run (120.021986ms)
✔ a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound (132.064669ms)
✔ endLaunch leaves a claim another run took alone (149.734298ms)
✔ refuse records action.refused against the caller with the code only (114.156207ms)
✔ launches off refuses role.launch with launch-revoked until launches on (168.024242ms)
✔ broker process: launch ops authorize role.launch, record refusals and end runs (276.070988ms)
✔ the assistant sends to the user and to the chief of staff only (298.053177ms)
✔ an assistant send to any other role, or to the tester, is refused and logged (323.194154ms)
✔ only the user and the chief of staff may send to the assistant; the tester is refused by default (331.466225ms)
✔ REQ-ASSIST-2 REQ-THREAD-1 thread.send to an instance that does not hear from the user is refused and stores nothing (263.555445ms)
✔ a sender-side list alone refuses a send to a role that has no list (273.697771ms)
✔ a target-side list alone refuses a send from a role that has no list (260.0868ms)
✔ the sender list is checked before the target list (233.488961ms)
✔ roles without the field behave exactly as before (337.103087ms)
✔ a business with no role definitions at all is unlimited (257.194553ms)
✔ a malformed messaging field refuses at boot (72.51818ms)
✔ the assistant's review.request to a reviewer is refused and logged, even with an approved decision (272.815077ms)
✔ a review.verdict to the assistant from a role outside its receiveFrom is refused and logged (314.644543ms)
✔ review requests and verdicts between roles without the field are unchanged (254.089198ms)
✔ broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly (191.190101ms)
✔ startup token refusal returns safe code without value or partial listening broker (44.149945ms)
✔ loaded fixture token is absent from socket replies and SQLite, including refusal evidence (183.344282ms)
✔ killed broker leaves an explicit stale lock; another process cannot silently reclaim it (183.817244ms)
✔ trusted host registers later launches; socket clients never have a registration verb (179.835692ms)
✔ runtime excludes declared project roots even when host supplies no repoRoots (45.374223ms)
✔ a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it (175.407528ms)
✔ v3b prototype refusals, views and append-only mutations (1334.201835ms)
✔ creates private WAL store and excludes a second writer until explicit close (123.339327ms)
✔ rollback is atomic and schema metadata is checked against trusted DDL, not just itself (154.425884ms)
✔ existing empty database and symlink runtime directory refuse, never initialize over damage (163.025591ms)
✔ crash during a transaction recovers no partial event after explicit fixture-only lock removal (157.316868ms)
✔ writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers (96.02537ms)
✔ async transactions refuse before invoking their function (84.013085ms)
✔ REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger (302.687573ms)
✔ REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker (1027.154215ms)
✔ REQ-MSG-1: a message to or from the assistant names its thread, or is refused (263.303041ms)
✔ REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work (3369.40474ms)
✔ REQ-MSG-1: a reply can't carry one thread instance's thread to another thread instance (99.388113ms)
✔ REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder (151.976851ms)
✔ REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it (147.334952ms)
✔ REQ-THREAD-2 REQ-LAUNCH-1: threadIdle releases only a thread with nothing waiting, and only for its holder (176.886747ms)
✔ REQ-THREAD-2 REQ-LAUNCH-1: a message delivered to a run that ended unread doesn't hold up the next holder (150.443584ms)
✔ REQ-ROLE-2 REQ-THREAD-1: an approved role.revoke never reaches a thread run, and the thread stays held (131.384531ms)
✔ REQ-USER-2: the human verbs refuse another owner's thread (146.34654ms)
✖ REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one (48.868209ms)
✔ REQ-ORG-2: projects and threads are named once, and the repo names a business project (139.267115ms)
✔ REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing (460.451661ms)
ℹ tests 48
ℹ suites 0
ℹ pass 47
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 6684.568044
✖ failing tests:
test at tests/threads.test.mjs:448:1
✖ REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one (48.868209ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
Comparison {
+ code: 'storage-refused'
- code: 'thread-instance-missing'
}
at TestContext.<anonymous> (file:///home/jwoltje/darkwing-scratch/r121/r2wt/packages/bus/tests/threads.test.mjs:452:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
at Test.postRun (node:internal/test_runner/test:1542:19)
at Test.run (node:internal/test_runner/test:1467:12)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: Error: storage-refused
at #refused (file:///home/jwoltje/darkwing-scratch/r121/r2wt/packages/bus/src/broker.mjs:825:47)
at Broker.request (file:///home/jwoltje/darkwing-scratch/r121/r2wt/packages/bus/src/broker.mjs:896:26)
at Object.call (file:///home/jwoltje/darkwing-scratch/r121/r2wt/packages/bus/tests/threads.test.mjs:50:44)
at assert.throws.code (file:///home/jwoltje/darkwing-scratch/r121/r2wt/packages/bus/tests/threads.test.mjs:452:25)
at getActual (node:assert:580:5)
at strict.throws (node:assert:728:24)
at TestContext.<anonymous> (file:///home/jwoltje/darkwing-scratch/r121/r2wt/packages/bus/tests/threads.test.mjs:452:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18),
expected: { code: 'thread-instance-missing' },
operator: 'throws',
diff: 'simple'
}