✖ REQ-THREAD-1 REQ-ORG-2: the 3d→3e migration adds the thread tables and leaves messages from before threads as written (545.204151ms) ✔ REQ-THREAD-1: a 3d bus with a changed schema is refused and keeps its version and tables (389.144963ms) ✔ REQ-THREAD-1: the offline command prints the kept-message counts before the ready line (414.237241ms) ℹ tests 3 ℹ suites 0 ℹ pass 2 ℹ fail 1 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 1409.847182 ✖ failing tests: test at tests/thread-migration.test.mjs:90:1 ✖ REQ-THREAD-1 REQ-ORG-2: the 3d→3e migration adds the thread tables and leaves messages from before threads as written (545.204151ms) AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal: + actual - expected ... Skipped lines { deliveries: [ [Object: null prototype] { address: null, at: '2026-10-15T00:00:00.000Z', ... seq: 1, + to_name: null, to_role: 'assistant' }, [Object: null prototype] { at: '2026-10-15T00:00:00.000Z', body: 'before threads', ... seq: 2, + to_name: null, to_role: 'assistant' }, [Object: null prototype] { at: '2026-10-15T00:00:00.000Z', body: 'before threads', ... seq: 3, + to_name: null, to_role: 'assistant' }, [Object: null prototype] { at: '2026-10-15T00:00:00.000Z', body: 'before threads', ... seq: 4, + to_name: null, to_role: 'chief' }, [Object: null prototype] { at: '2026-10-15T00:00:00.000Z', body: 'before threads', ... seq: 5, + to_name: null, to_role: 'human' }, [Object: null prototype] { at: '2026-10-15T00:00:00.000Z', body: 'before threads', ... seq: 6, + to_name: null, to_role: 'assistant' }, [Object: null prototype] { at: '2026-10-15T00:00:00.000Z', body: 'before threads', ... seq: 7, + to_name: null, to_role: 'assistant' } ] } at TestContext. (file:///home/jwoltje/darkwing-scratch/r141/wt2/packages/bus/tests/thread-migration.test.mjs:104:10) at async Test.run (node:internal/test_runner/test:1409:7) at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) { generatedMessage: true, code: 'ERR_ASSERTION', actual: { messages: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], deliveries: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object] ] }, expected: { messages: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], deliveries: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object] ] }, operator: 'deepStrictEqual', diff: 'simple' }