RUN v3.2.7 /tmp/circe-safety-pass-review × required.test.ts > deduplicates the same proposal while the first delivery is in flight 8ms → expected [ { …(7) }, { …(7) } ] to have a length of 1 but got 2 × required.test.ts > a new confirm id cannot refreeze a transaction with a RUNNING effect 1ms → expected [ { …(7) }, { …(7) } ] to have a length of 1 but got 2 × required.test.ts > a confirm for an absent transaction must not confirm a different live transaction 1ms → expected [ { …(7) } ] to have a length of +0 but got 1 × required.test.ts > a cancelled transaction cannot be resurrected by a revision addressed to its id 1ms → expected [ { …(7) } ] to have a length of +0 but got 1 × required.test.ts > caller mutation during validation cannot retarget frozen effects 1ms → expected 'B' to be 'A' // Object.is equality × required.test.ts > different runtimes do not reuse the same external idempotency key 1ms → expected 'effect:interaction:1:1' not to be 'effect:interaction:1:1' // Object.is equality × required.test.ts > an explicitly supplied but non-covering evidence set cannot fall back to current snapshots 1ms → expected [ { …(7) } ] to have a length of +0 but got 1 × required.test.ts > semantic proposals retain the exact frame version rather than rebinding to a new world version 4ms → expected false to be true // Object.is equality × required.test.ts > an inspect/query proposition does not become an executable proposal 1ms → expected { kind: 'propose', …(4) } to be undefined × required.test.ts > ambiguous classification with a capability does not invoke through ingest 1ms → expected [ { …(7) } ] to have a length of +0 but got 1 × required.test.ts > oversized mandatory context is explicitly reported as over budget 45ms → expected false to be true // Object.is equality × required.test.ts > frames differing in coverage metadata have different exact-input hashes 1ms → expected 'af2776e01200bc95' not to be 'af2776e01200bc95' // Object.is equality × required.test.ts > late publication cannot attach a stale neighborhood judgment to the latest generation 1ms → expected undefined to be defined × required.test.ts > an obligation event invalidates a judgment over prior knowledge 0ms → expected undefined to be defined × required.test.ts > a reused spec id rejected at a later stage cannot leave an earlier accepted value 1ms → expected false to be true // Object.is equality × required.test.ts > required arity-one slot validation also applies to revisions 1ms → expected [ { …(7) } ] to have a length of +0 but got 1 × required.test.ts > journal contains enough command identity to recognize replayed typed proposals 2ms → expected '[{"kind":"intent-revised","intentId":…' to contain 'unique-command-123' × required.test.ts > clear-selection without refs clears the UI selection 1ms → expected 'referent:1' to be undefined ⎯⎯⎯⎯⎯⎯ Failed Tests 18 ⎯⎯⎯⎯⎯⎯⎯ FAIL required.test.ts > deduplicates the same proposal while the first delivery is in flight AssertionError: expected [ { …(7) }, { …(7) } ] to have a length of 1 but got 2 - Expected + Received - 1 + 2 ❯ required.test.ts:30:20 28| for(let n=0;n<20;n++)await Promise.resolve(); 29| releases.forEach(f=>f());await Promise.all([a,b]); 30| expect(r.invokes).toHaveLength(1); | ^ 31| }); 32| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/18]⎯ FAIL required.test.ts > a new confirm id cannot refreeze a transaction with a RUNNING effect AssertionError: expected [ { …(7) }, { …(7) } ] to have a length of 1 but got 2 - Expected + Received - 1 + 2 ❯ required.test.ts:38:20 36| await r.runtime.command({kind:'confirm',commandId:'yes1',transactionI… 37| await r.runtime.command({kind:'confirm',commandId:'yes2',transactionI… 38| expect(r.invokes).toHaveLength(1); | ^ 39| }); 40| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/18]⎯ FAIL required.test.ts > a confirm for an absent transaction must not confirm a different live transaction AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ required.test.ts:45:20 43| await r.runtime.command(proposal()); 44| await r.runtime.command({kind:'confirm',commandId:'confirm-missing',t… 45| expect(r.invokes).toHaveLength(0); | ^ 46| }); 47| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/18]⎯ FAIL required.test.ts > a cancelled transaction cannot be resurrected by a revision addressed to its id AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ required.test.ts:54:20 52| await r.runtime.command({kind:'revise',commandId:'revise',transaction… 53| await r.runtime.command({kind:'confirm',commandId:'yes',transactionId… 54| expect(r.invokes).toHaveLength(0); | ^ 55| }); 56| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/18]⎯ FAIL required.test.ts > caller mutation during validation cannot retarget frozen effects AssertionError: expected 'B' to be 'A' // Object.is equality Expected: "A" Received: "B" ❯ required.test.ts:63:46 61| for(let n=0;n<20&&!release;n++)await Promise.resolve(); 62| cmd.slots[0].refs[0].id='B';release();await pending; 63| expect(r.invokes[0].bindings[0].refs[0].id).toBe('A'); | ^ 64| expect(r.validates[0][0].ref.id).toBe('A'); 65| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/18]⎯ FAIL required.test.ts > different runtimes do not reuse the same external idempotency key AssertionError: expected 'effect:interaction:1:1' not to be 'effect:interaction:1:1' // Object.is equality ❯ required.test.ts:69:42 67| it('different runtimes do not reuse the same external idempotency key'… 68| const a=rig(),b=rig();await a.runtime.command(proposal('a'));await b.… 69| expect(a.invokes[0].idempotencyKey).not.toBe(b.invokes[0].idempotency… | ^ 70| }); 71| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/18]⎯ FAIL required.test.ts > an explicitly supplied but non-covering evidence set cannot fall back to current snapshots AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ required.test.ts:76:20 74| const cmd=proposal();cmd.expectedVersions=[condition(ref('different')… 75| await r.runtime.command(cmd); 76| expect(r.invokes).toHaveLength(0); | ^ 77| }); 78| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/18]⎯ FAIL required.test.ts > semantic proposals retain the exact frame version rather than rebinding to a new world version AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ required.test.ts:87:70 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/18]⎯ FAIL required.test.ts > an inspect/query proposition does not become an executable proposal AssertionError: expected { kind: 'propose', …(4) } to be undefined - Expected: undefined + Received: { "capability": "task.resume", "commandId": "q", "decisions": [ "d", ], "kind": "propose", "slots": [ { "refs": [ { "authority": "a", "id": "A", "namespace": "tasks", "type": "task", }, ], "slot": "targets", }, ], } ❯ required.test.ts:93:86 91| const p:any={act:'query',operation:'inspect',polarity:'include',refs:… 92| const turn:any={frameId:'f',status:'RESOLVED',propositions:[p],decisi… 93| expect(propositionCommand(turn,p,{commandId:'q',acceptedDecisions:new… | ^ 94| }); 95| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/18]⎯ FAIL required.test.ts > ambiguous classification with a capability does not invoke through ingest AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ required.test.ts:99:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/18]⎯ FAIL required.test.ts > oversized mandatory context is explicitly reported as over budget AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ required.test.ts:106:56 104| const req:any=request();req.hints={refs:[ref()]}; 105| const {frame}=await assembleFrame(store,req); 106| expect(frame.assembly.completeness.frameSizeExceeded).toBe(true); | ^ 107| }); 108| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/18]⎯ FAIL required.test.ts > frames differing in coverage metadata have different exact-input hashes AssertionError: expected 'af2776e01200bc95' not to be 'af2776e01200bc95' // Object.is equality ❯ required.test.ts:115:27 113| const b=await assembleFrame(store,req,{seedProviders:[{id:'same',seed… 114| expect(a.frame.assembly.completeness).not.toEqual(b.frame.assembly.co… 115| expect(a.frame.hash).not.toBe(b.frame.hash); | ^ 116| }); 117| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/18]⎯ FAIL required.test.ts > late publication cannot attach a stale neighborhood judgment to the latest generation AssertionError: expected undefined to be defined ❯ required.test.ts:124:46 122| const input:any=belief([ref()],[oid]);input.evidence.contextFrameId=f… 123| const id=store.addAnnotation(input); 124| expect(store.annotation(id)?.invalidatedAt).toBeDefined(); | ^ 125| }); 126| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/18]⎯ FAIL required.test.ts > an obligation event invalidates a judgment over prior knowledge AssertionError: expected undefined to be defined ❯ required.test.ts:130:46 128| const store=createInMemoryContextStore();const oid=store.recordObserv… 129| store.recordEvent({kind:'obligation-opened',at:now,refs:[ref()],evide… 130| expect(store.annotation(id)?.invalidatedAt).toBeDefined(); | ^ 131| }); 132| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[14/18]⎯ FAIL required.test.ts > a reused spec id rejected at a later stage cannot leave an earlier accepted value AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ required.test.ts:138:76 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/18]⎯ FAIL required.test.ts > required arity-one slot validation also applies to revisions AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ required.test.ts:146:20 144| await r.runtime.command({kind:'revise',commandId:'revise',transaction… 145| await r.runtime.command({kind:'confirm',commandId:'yes',transactionId… 146| expect(r.invokes).toHaveLength(0); | ^ 147| }); 148| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[16/18]⎯ FAIL required.test.ts > journal contains enough command identity to recognize replayed typed proposals AssertionError: expected '[{"kind":"intent-revised","intentId":…' to contain 'unique-command-123' Expected: "unique-command-123" Received: "[{"kind":"intent-revised","intentId":"intent:1","revision":1,"at":"2026-09-22T09:00:00.000Z"},{"kind":"effect-frozen","effect":{"id":"effect:interaction:1:1","transactionId":"tx:1","intentId":"intent:1","intentRevision":1,"capability":"task.resume","bindings":[{"slot":"targets","refs":[{"authority":"a","namespace":"tasks","type":"task","id":"A"}],"provenance":{"rule":"compile.v1","inputs":[],"conclusion":"a|tasks|task|A","confidence":1,"at":"2026-09-22T09:00:00.000Z"}}],"arguments":{},"preconditions":[{"ref":{"authority":"a","namespace":"tasks","type":"task","id":"A"},"token":{"authority":"a","token":"1","observedAt":"2026-09-22T09:00:00.000Z"}}],"status":"PENDING"},"at":"2026-09-22T09:00:00.000Z"},{"kind":"confirmation-granted","transactionId":"tx:1","intentRevision":1,"at":"2026-09-22T09:00:00.000Z"},{"kind":"dispatch-requested","effectId":"effect:interaction:1:1","at":"2026-09-22T09:00:00.000Z"},{"kind":"dispatch-acknowledged","receipt":{"effectId":"effect:interaction:1:1","executor":"exec","idempotencyKey":"effect:interaction:1:1","dispatchedAt":"2026-09-22T09:00:00.000Z"},"at":"2026-09-22T09:00:00.000Z"},{"kind":"outcome","effectId":"effect:interaction:1:1","status":"SUCCEEDED","at":"2026-09-22T09:00:00.000Z"}]" ❯ required.test.ts:151:44 149| it('journal contains enough command identity to recognize replayed typ… 150| const journal=createInMemoryJournal();const r=rig({journal});await r.… 151| expect(JSON.stringify(journal.entries())).toContain('unique-command-1… | ^ 152| }); 153| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[17/18]⎯ FAIL required.test.ts > clear-selection without refs clears the UI selection AssertionError: expected 'referent:1' to be undefined - Expected: undefined + Received: "referent:1" ❯ required.test.ts:157:46 155| const r=rig();await r.runtime.ingest({kind:'ui',id:'select',at:now,ev… 156| await r.runtime.ingest({kind:'ui',id:'clear',at:now,event:{action:'cl… 157| expect(r.runtime.state().currentReferentId).toBeUndefined(); | ^ 158| }); 159| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[18/18]⎯ Test Files 1 failed (1) Tests 18 failed (18) Start at 04:36:54 Duration 548ms (transform 184ms, setup 0ms, collect 209ms, tests 73ms, environment 0ms, prepare 50ms)