RUN v3.2.7 /tmp/circe-pr1-evidence × additional.test.ts > invalid revision during validation revokes the old authorization 15ms → expected [ { …(7) } ] to have a length of +0 but got 1 × additional.test.ts > an ambiguous affirmative cannot authorize a pending effect 2ms → expected [ { …(7) } ] to have a length of +0 but got 1 × additional.test.ts > completed command ids reject different content just like in-flight ids 5ms → promise resolved "{ semanticEvents: [], …(9) }" instead of rejecting × additional.test.ts > overlapping dispatch loops invoke each frozen effect only once 2ms → expected [ 'effect:interaction:4:1', …(2) ] to have a length of 2 but got 3 × additional.test.ts > semantic ingestion snapshots classifier output before awaiting validation 3ms → expected 'changed after validation began' to be 'original' // Object.is equality × additional.test.ts > a semantic turn cannot borrow versions from a different frame 8ms → expected { kind: 'propose', …(5) } to be undefined × additional.test.ts > turn exclusions cover executable slot refs, not only proposition summary refs 2ms → expected { kind: 'propose', …(5) } to be undefined × additional.test.ts > synthesized batch receipts retain the idempotency key actually sent 1ms → expected [ 'SUCCEEDED', 'UNKNOWN' ] to deeply equal [ 'SUCCEEDED', 'SUCCEEDED' ] × additional.test.ts > a late RUNNING acknowledgement cannot overwrite an observed terminal outcome 1ms → expected 'RUNNING' to be 'SUCCEEDED' // Object.is equality ✓ previous.test.ts > deduplicates the same proposal while the first delivery is in flight 4ms ✓ previous.test.ts > a new confirm id cannot refreeze a transaction with a RUNNING effect 1ms ✓ previous.test.ts > a confirm for an absent transaction must not confirm a different live transaction 0ms ✓ previous.test.ts > a cancelled transaction cannot be resurrected by a revision addressed to its id 1ms ✓ previous.test.ts > caller mutation during validation cannot retarget frozen effects 1ms ✓ previous.test.ts > different runtimes do not reuse the same external idempotency key 1ms ✓ previous.test.ts > an explicitly supplied but non-covering evidence set cannot fall back to current snapshots 1ms ✓ previous.test.ts > semantic proposals retain the exact frame version rather than rebinding to a new world version 5ms ✓ previous.test.ts > an inspect/query proposition does not become an executable proposal 0ms ✓ previous.test.ts > ambiguous classification with a capability does not invoke through ingest 1ms ✓ previous.test.ts > oversized mandatory context is explicitly reported as over budget 38ms ✓ previous.test.ts > frames differing in coverage metadata have different exact-input hashes 1ms ✓ previous.test.ts > late publication cannot attach a stale neighborhood judgment to the latest generation 1ms ✓ previous.test.ts > an obligation event invalidates a judgment over prior knowledge 0ms ✓ previous.test.ts > a reused spec id rejected at a later stage cannot leave an earlier accepted value 1ms ✓ previous.test.ts > required arity-one slot validation also applies to revisions 0ms ✓ previous.test.ts > journal contains enough command identity to recognize replayed typed proposals 0ms ✓ previous.test.ts > clear-selection without refs clears the UI selection 0ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 9 ⎯⎯⎯⎯⎯⎯⎯ FAIL additional.test.ts > invalid revision during validation revokes the old authorization AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ additional.test.ts:38:20 36| expect(r.runtime.state().transactions.get(tx)?.state).toBe('FAILED'); 37| release();await confirm; 38| expect(r.invokes).toHaveLength(0); | ^ 39| }); 40| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/9]⎯ FAIL additional.test.ts > an ambiguous affirmative cannot authorize a pending effect AssertionError: expected [ { …(7) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ additional.test.ts:44:20 42| const r=rig({descriptor:gate,classifier:{id:'ambiguous',classify:asyn… 43| await r.runtime.command(proposal());await r.runtime.ingest(utter()); 44| expect(r.invokes).toHaveLength(0); | ^ 45| }); 46| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/9]⎯ FAIL additional.test.ts > completed command ids reject different content just like in-flight ids AssertionError: promise resolved "{ semanticEvents: [], …(9) }" instead of rejecting - Expected + Received - Error { - "message": "rejected promise", + { + "calls": [ + { + "capability": "task.resume", + "kind": "validate", + "targets": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + }, + { + "capability": "task.resume", + "kind": "invoke", + "targets": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + }, + ], + "effects": [ + { + "arguments": {}, + "bindings": [ + { + "phrase": undefined, + "provenance": { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "a|tasks|task|A", + "confidence": 1, + "inputs": [], + "rule": "compile.v1", + }, + "refs": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + "slot": "targets", + }, + ], + "capability": "task.resume", + "endedAt": "2026-09-22T09:00:00.000Z", + "failure": undefined, + "id": "effect:interaction:3:1", + "intentId": "intent:1", + "intentRevision": 1, + "preconditions": [ + { + "ref": { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + "token": { + "authority": "a", + "observedAt": "2026-09-22T09:00:00.000Z", + "token": "1", + }, + }, + ], + "receipt": { + "dispatchedAt": "2026-09-22T09:00:00.000Z", + "effectId": "effect:interaction:3:1", + "executor": "exec", + "idempotencyKey": "effect:interaction:3:1", + }, + "result": undefined, + "startedAt": "2026-09-22T09:00:00.000Z", + "status": "SUCCEEDED", + "transactionId": "tx:1", + }, + ], + "errors": undefined, + "intents": [ + { + "arguments": {}, + "bindings": [ + { + "expectations": [ + { + "ref": { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + "token": { + "authority": "a", + "observedAt": "2026-09-22T09:00:00.000Z", + "token": "1", + }, + }, + ], + "origins": [], + "provenance": { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "a|tasks|task|A", + "confidence": 1, + "inputs": [], + "rule": "compile.v1", + }, + "refs": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + "slot": "targets", + }, + ], + "capability": "task.resume", + "createdAt": "2026-09-22T09:00:00.000Z", + "id": "intent:1", + "provenance": { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "task.resume", + "confidence": 1, + "inputs": [], + "rule": "compile.v1", + }, + "revision": 1, + }, + ], + "provenance": [], + "references": [], + "reply": { + "kind": "ack", + }, + "scope": [], + "semanticEvents": [], + "transactions": [ + { + "confirmation": { + "at": "2026-09-22T09:00:00.000Z", + "intentRevision": 1, + }, + "createdAt": "2026-09-22T09:00:00.000Z", + "effects": [ + "effect:interaction:3:1", + ], + "history": [ + { + "at": "2026-09-22T09:00:00.000Z", + "cause": "same", + "state": "DRAFT", + }, + ], + "id": "tx:1", + "intentId": "intent:1", + "paused": false, + "pendingCommitRevision": undefined, + "pinnedScopeIds": [], + "state": "SUCCEEDED", + "updatedAt": "2026-09-22T09:00:00.000Z", + }, + ], } ❯ additional.test.ts:49:61 47| it('completed command ids reject different content just like in-flight… 48| const r=rig();await r.runtime.command(proposal('same')); 49| await expect(r.runtime.command(proposal('same',[ref('B')]))).rejects.… | ^ 50| }); 51| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/9]⎯ FAIL additional.test.ts > overlapping dispatch loops invoke each frozen effect only once AssertionError: expected [ 'effect:interaction:4:1', …(2) ] to have a length of 2 but got 3 - Expected + Received - 2 + 3 ❯ additional.test.ts:62:39 60| expect(releases).toHaveLength(2); 61| releases[0]();await c;releases[1]();await resume; 62| expect(r.invokes.map(x=>x.effectId)).toHaveLength(2); | ^ 63| expect(new Set(r.invokes.map(x=>x.effectId)).size).toBe(r.invokes.len… 64| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/9]⎯ FAIL additional.test.ts > semantic ingestion snapshots classifier output before awaiting validation AssertionError: expected 'changed after validation began' to be 'original' // Object.is equality Expected: "original" Received: "changed after validation began" ❯ additional.test.ts:73:46 71| const pending=r.runtime.ingest(utter());for(let n=0;n<30&&!release;n+… 72| args.message.text='changed after validation began';release();await pe… 73| expect(r.invokes[0].arguments.message.text).toBe('original'); | ^ 74| }); 75| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/9]⎯ FAIL additional.test.ts > a semantic turn cannot borrow versions from a different frame AssertionError: expected { kind: 'propose', …(5) } to be undefined - Expected: undefined + Received: { "capability": "task.resume", "commandId": "p", "decisions": [ "d", ], "expectedVersions": [ { "ref": { "authority": "a", "id": "A", "namespace": "tasks", "type": "task", }, "token": { "authority": "a", "observedAt": "2026-09-22T09:00:00.000Z", "token": "2", }, }, ], "kind": "propose", "slots": [ { "refs": [ { "authority": "a", "id": "A", "namespace": "tasks", "type": "task", }, ], "slot": "targets", }, ], } ❯ additional.test.ts:84:14 82| const turn:any={frameId:first.id,status:'RESOLVED',propositions:[p],d… 83| const cmd=propositionCommand(turn,p,{commandId:'p',acceptedDecisions:… 84| expect(cmd).toBeUndefined(); | ^ 85| }); 86| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/9]⎯ FAIL additional.test.ts > turn exclusions cover executable slot refs, not only proposition summary refs AssertionError: expected { kind: 'propose', …(5) } to be undefined - Expected: undefined + Received: { "capability": "task.resume", "commandId": "p", "decisions": [ "d", ], "expectedVersions": [ { "ref": { "authority": "a", "id": "B", "namespace": "tasks", "type": "task", }, "token": { "authority": "a", "observedAt": "2026-09-22T09:00:00.000Z", "token": "1", }, }, ], "kind": "propose", "slots": [ { "refs": [ { "authority": "a", "id": "B", "namespace": "tasks", "type": "task", }, ], "slot": "targets", }, ], } ❯ additional.test.ts:93:101 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/9]⎯ FAIL additional.test.ts > synthesized batch receipts retain the idempotency key actually sent AssertionError: expected [ 'SUCCEEDED', 'UNKNOWN' ] to deeply equal [ 'SUCCEEDED', 'SUCCEEDED' ] - Expected + Received [ "SUCCEEDED", - "SUCCEEDED", + "UNKNOWN", ] ❯ additional.test.ts:102:67 100| expect(r.invokes).toHaveLength(1); 101| for(const e of p.effects)await r.runtime.reconcile(e.id); 102| expect([...r.runtime.state().effects.values()].map(e=>e.status)).toEq… | ^ 103| }); 104| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/9]⎯ FAIL additional.test.ts > a late RUNNING acknowledgement cannot overwrite an observed terminal outcome AssertionError: expected 'RUNNING' to be 'SUCCEEDED' // Object.is equality Expected: "SUCCEEDED" Received: "RUNNING" ❯ additional.test.ts:112:59 110| await r.runtime.ingest({kind:'effect',id:'completed',at:now,event:{ef… 111| release({ok:true,status:'RUNNING'});await pending; 112| expect(r.runtime.state().effects.get(effect.id)?.status).toBe('SUCCEE… | ^ 113| }); 114| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/9]⎯ Test Files 1 failed | 1 passed (2) Tests 9 failed | 18 passed (27) Start at 12:05:56 Duration 553ms (transform 232ms, setup 0ms, collect 443ms, tests 99ms, environment 0ms, prepare 116ms)