RUN v3.2.7 /tmp/circe-pr2-round4-evidence ✓ ownership.test.ts > PR2 evidence-use coverage > O1: a ref used as target and argument remains a dependency of every consuming effect 28ms ✓ ownership.test.ts > PR2 evidence-use coverage > O2: a declared shared read guard survives an unrelated revision 3ms ✓ ownership.test.ts > PR2 evidence-use coverage > O3: moving a target out of a slot does not lose evidence while the argument still uses it 2ms ✓ round3.test.ts > a late concurrent reconciliation cannot regress a terminal outcome 11ms ✓ round3.test.ts > interrupt during an invocation prevents the remaining pending effect from starting 5ms ✓ round3.test.ts > ambiguous clarification cannot complete a pending request into execution 10ms ✓ round2.test.ts > PR2 round 2 remaining contract paths > N1: per-proposition API also rejects a dependent whose prerequisite lacks evidence 14ms ✓ round2.test.ts > PR2 round 2 remaining contract paths > N2: revised binding evidence is identical at validation and dispatch 9ms ✓ round2.test.ts > PR2 round 2 remaining contract paths > N3: retargeting removes obsolete slot read evidence 2ms ✓ round2.test.ts > PR2 round 2 remaining contract paths > N4: independent target effects do not invalidate each other 6ms ✓ round2.test.ts > PR2 round 2 remaining contract paths > control: genuine argument read deps survive every target effect 6ms ✓ additional.test.ts > invalid revision during validation revokes the old authorization 11ms ✓ additional.test.ts > an ambiguous affirmative cannot authorize a pending effect 3ms ✓ additional.test.ts > completed command ids reject different content just like in-flight ids 4ms ✓ additional.test.ts > overlapping dispatch loops invoke each frozen effect only once 4ms ✓ additional.test.ts > semantic ingestion snapshots classifier output before awaiting validation 2ms ✓ additional.test.ts > a semantic turn cannot borrow versions from a different frame 14ms ✓ additional.test.ts > turn exclusions cover executable slot refs, not only proposition summary refs 3ms ✓ additional.test.ts > synthesized batch receipts retain the idempotency key actually sent 4ms ✓ additional.test.ts > a late RUNNING acknowledgement cannot overwrite an observed terminal outcome 1ms × controls.test.ts > PR2 self-review controls > P1: a settled unrelated revision must not poison a fresh continuation 21ms → expected [ 'STALE_INTENT' ] to not include 'STALE_INTENT' × controls.test.ts > PR2 self-review controls > P2: implicit targets do not change with semantic slot order 27ms → expected [ Array(1) ] to deeply equal [ { slot: 'targets', …(1) } ] × controls.test.ts > PR2 self-review controls > P3: optional semantic arity does not prohibit a valid many-valued secondary slot 11ms → expected [ { index: +0, …(1) } ] to deeply equal [] ✓ controls.test.ts > control: a fresh continuation is accepted before any unrelated revision 2ms ✓ controls.test.ts > control: complete slot mechanics permit a secondary set 6ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R1: non-executable 'query'/'inspect' never invokes 25ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R1: non-executable 'query'/'reference' never invokes 5ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R1: non-executable 'request'/'compose' never invokes 4ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R2: argument-only refs retain validation and frozen preconditions 14ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R2b: a stale argument target blocks execution 6ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R3: rejected prerequisite blocks dependent proposition 3ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R4: out-of-range relation makes whole turn uncompilable 5ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R5: explicit index cannot bypass a prohibition on the selected proposition 3ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R6: malformed sibling exclusion cannot be dropped by per-proposition API 2ms ✓ pr2-previous.test.ts > PR2 independent required behavior > R7: a matching frame hash cannot replace the turn frame identity 8ms ✓ pr2-previous.test.ts > PR2 independent required behavior > control: valid request still reaches executor exactly once 3ms ✓ previous.test.ts > deduplicates the same proposal while the first delivery is in flight 15ms ✓ previous.test.ts > a new confirm id cannot refreeze a transaction with a RUNNING effect 2ms ✓ previous.test.ts > a confirm for an absent transaction must not confirm a different live transaction 1ms ✓ previous.test.ts > a cancelled transaction cannot be resurrected by a revision addressed to its id 2ms ✓ previous.test.ts > caller mutation during validation cannot retarget frozen effects 2ms ✓ previous.test.ts > different runtimes do not reuse the same external idempotency key 4ms ✓ previous.test.ts > an explicitly supplied but non-covering evidence set cannot fall back to current snapshots 3ms ✓ previous.test.ts > semantic proposals retain the exact frame version rather than rebinding to a new world version 13ms ✓ 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 2ms ✓ previous.test.ts > oversized mandatory context is explicitly reported as over budget 88ms ✓ previous.test.ts > frames differing in coverage metadata have different exact-input hashes 5ms ✓ previous.test.ts > late publication cannot attach a stale neighborhood judgment to the latest generation 4ms ✓ previous.test.ts > an obligation event invalidates a judgment over prior knowledge 1ms ✓ previous.test.ts > a reused spec id rejected at a later stage cannot leave an earlier accepted value 3ms ✓ previous.test.ts > required arity-one slot validation also applies to revisions 2ms ✓ previous.test.ts > journal contains enough command identity to recognize replayed typed proposals 2ms ✓ previous.test.ts > clear-selection without refs clears the UI selection 2ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 3 ⎯⎯⎯⎯⎯⎯⎯ FAIL controls.test.ts > PR2 self-review controls > P1: a settled unrelated revision must not poison a fresh continuation AssertionError: expected [ 'STALE_INTENT' ] to not include 'STALE_INTENT' ❯ controls.test.ts:243:43 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/3]⎯ FAIL controls.test.ts > PR2 self-review controls > P2: implicit targets do not change with semantic slot order AssertionError: expected [ Array(1) ] to deeply equal [ { slot: 'targets', …(1) } ] - Expected + Received @@ -6,8 +6,8 @@ "id": "A", "namespace": "tasks", "type": "task", }, ], - "slot": "targets", + "slot": "note", }, ] ❯ controls.test.ts:259:41 257| expect(allowed.errors).toBeUndefined(); 258| expect(direct.invokes).toHaveLength(1); 259| expect(compiled.commands[0]!.slots).toEqual([{slot:'targets',refs:… | ^ 260| }); 261| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/3]⎯ FAIL controls.test.ts > PR2 self-review controls > P3: optional semantic arity does not prohibit a valid many-valued secondary slot AssertionError: expected [ { index: +0, …(1) } ] to deeply equal [] - Expected + Received - [] + [ + { + "index": 0, + "reason": "slot watchers accepts a single ref", + }, + ] ❯ controls.test.ts:273:31 271| const turn=semanticTurnFromRun(run,[requestProposition([traceId('o… 272| const compiled=compileSemanticTurn(turn,{frame}); 273| expect(compiled.rejected).toEqual([]); | ^ 274| expect(compiled.commands).toHaveLength(1); 275| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/3]⎯ Test Files 1 failed | 6 passed (7) Tests 3 failed | 51 passed (54) Start at 02:17:28 Duration 1.39s (transform 1.40s, setup 0ms, collect 4.33s, tests 450ms, environment 2ms, prepare 1.49s)