Round 1 is a code and test review and won't land. land-work fails at BASE on the read.mjs 3b pin, which row 49 removes. Co-Authored-By: Claude Opus 5.5 <[email protected]>
89 lines
6.1 KiB
Plaintext
89 lines
6.1 KiB
Plaintext
✔ endLaunch writes session.ended, releases the run claim and kills its capabilities (126.028619ms)
|
||
✔ endLaunch refuses an unknown run, a second end and a rebind of the ended run (132.045322ms)
|
||
✔ a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound (147.635499ms)
|
||
✔ endLaunch leaves a claim another run took alone (166.837128ms)
|
||
✔ refuse records action.refused against the caller with the code only (126.710436ms)
|
||
✔ launches off refuses role.launch with launch-revoked until launches on (184.105944ms)
|
||
✔ broker process: launch ops authorize role.launch, record refusals and end runs (294.474649ms)
|
||
✔ the assistant sends to the user and to the chief of staff only (305.867387ms)
|
||
✔ an assistant send to any other role, or to the tester, is refused and logged (354.522714ms)
|
||
✔ only the user and the chief of staff may send to the assistant; the tester is refused by default (367.641499ms)
|
||
✔ a sender-side list alone refuses a send to a role that has no list (287.465137ms)
|
||
✔ a target-side list alone refuses a send from a role that has no list (288.890986ms)
|
||
✔ the sender list is checked before the target list (270.763984ms)
|
||
✔ roles without the field behave exactly as before (385.320249ms)
|
||
✔ a business with no role definitions at all is unlimited (261.629879ms)
|
||
✔ a malformed messaging field refuses at boot (78.115061ms)
|
||
✔ the assistant's review.request to a reviewer is refused and logged, even with an approved decision (292.553951ms)
|
||
✔ a review.verdict to the assistant from a role outside its receiveFrom is refused and logged (322.594574ms)
|
||
✔ review requests and verdicts between roles without the field are unchanged (294.752782ms)
|
||
✔ broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly (180.983094ms)
|
||
✔ startup token refusal returns safe code without value or partial listening broker (40.168927ms)
|
||
✔ loaded fixture token is absent from socket replies and SQLite, including refusal evidence (176.03865ms)
|
||
✔ killed broker leaves an explicit stale lock; another process cannot silently reclaim it (168.345334ms)
|
||
✔ trusted host registers later launches; socket clients never have a registration verb (181.949486ms)
|
||
✔ runtime excludes declared project roots even when host supplies no repoRoots (41.410421ms)
|
||
✔ a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it (163.212815ms)
|
||
✔ v3b prototype refusals, views and append-only mutations (1341.108006ms)
|
||
✔ creates private WAL store and excludes a second writer until explicit close (118.321656ms)
|
||
✔ rollback is atomic and schema metadata is checked against trusted DDL, not just itself (166.01987ms)
|
||
✔ existing empty database and symlink runtime directory refuse, never initialize over damage (167.586083ms)
|
||
✔ crash during a transaction recovers no partial event after explicit fixture-only lock removal (159.948505ms)
|
||
✔ writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers (116.739725ms)
|
||
✔ async transactions refuse before invoking their function (95.325614ms)
|
||
✔ REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger (303.483743ms)
|
||
✔ REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker (1045.982073ms)
|
||
✔ REQ-MSG-1: a message to or from the assistant names its thread, or is refused (302.89183ms)
|
||
✔ REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work (3586.113619ms)
|
||
✔ REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder (171.797322ms)
|
||
✔ REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it (161.543146ms)
|
||
✔ REQ-USER-2: the human verbs refuse another owner's thread (154.269492ms)
|
||
✖ REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one (56.937749ms)
|
||
✔ REQ-ORG-2: projects and threads are named once, and the repo names a business project (153.6245ms)
|
||
✔ REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing (779.558714ms)
|
||
ℹ tests 43
|
||
ℹ suites 0
|
||
ℹ pass 42
|
||
ℹ fail 1
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 6779.471949
|
||
|
||
✖ failing tests:
|
||
|
||
test at tests/threads.test.mjs:353:1
|
||
✖ REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one (56.937749ms)
|
||
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/wt/packages/bus/tests/threads.test.mjs:357: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/wt/packages/bus/src/broker.mjs:772:47)
|
||
at Broker.request (file:///home/jwoltje/darkwing-scratch/r121/wt/packages/bus/src/broker.mjs:830:26)
|
||
at Object.call (file:///home/jwoltje/darkwing-scratch/r121/wt/packages/bus/tests/threads.test.mjs:50:44)
|
||
at assert.throws.code (file:///home/jwoltje/darkwing-scratch/r121/wt/packages/bus/tests/threads.test.mjs:357:25)
|
||
at getActual (node:assert:580:5)
|
||
at strict.throws (node:assert:728:24)
|
||
at TestContext.<anonymous> (file:///home/jwoltje/darkwing-scratch/r121/wt/packages/bus/tests/threads.test.mjs:357: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'
|
||
}
|