RUN v3.2.7 /tmp/circe-pr2-round3-evidence ↓ round2.test.ts > PR2 round 2 remaining contract paths > N1: per-proposition API also rejects a dependent whose prerequisite lacks evidence ↓ round2.test.ts > PR2 round 2 remaining contract paths > N2: revised binding evidence is identical at validation and dispatch ↓ round2.test.ts > PR2 round 2 remaining contract paths > N3: retargeting removes obsolete slot read evidence ↓ round2.test.ts > PR2 round 2 remaining contract paths > N4: independent target effects do not invalidate each other ↓ round2.test.ts > PR2 round 2 remaining contract paths > control: genuine argument read deps survive every target effect ↓ pr2-previous.test.ts > PR2 independent required behavior > R1: non-executable 'query'/'inspect' never invokes ↓ pr2-previous.test.ts > PR2 independent required behavior > R1: non-executable 'query'/'reference' never invokes ↓ pr2-previous.test.ts > PR2 independent required behavior > R1: non-executable 'request'/'compose' never invokes ↓ pr2-previous.test.ts > PR2 independent required behavior > R2: argument-only refs retain validation and frozen preconditions ↓ pr2-previous.test.ts > PR2 independent required behavior > R2b: a stale argument target blocks execution ↓ pr2-previous.test.ts > PR2 independent required behavior > R3: rejected prerequisite blocks dependent proposition ↓ pr2-previous.test.ts > PR2 independent required behavior > R4: out-of-range relation makes whole turn uncompilable ↓ pr2-previous.test.ts > PR2 independent required behavior > R5: explicit index cannot bypass a prohibition on the selected proposition ↓ pr2-previous.test.ts > PR2 independent required behavior > R6: malformed sibling exclusion cannot be dropped by per-proposition API ↓ pr2-previous.test.ts > PR2 independent required behavior > R7: a matching frame hash cannot replace the turn frame identity ↓ pr2-previous.test.ts > PR2 independent required behavior > control: valid request still reaches executor exactly once ↓ round3.test.ts > a late concurrent reconciliation cannot regress a terminal outcome ↓ round3.test.ts > interrupt during an invocation prevents the remaining pending effect from starting ↓ round3.test.ts > ambiguous clarification cannot complete a pending request into execution ↓ additional.test.ts > invalid revision during validation revokes the old authorization ↓ additional.test.ts > an ambiguous affirmative cannot authorize a pending effect ↓ additional.test.ts > completed command ids reject different content just like in-flight ids ↓ additional.test.ts > overlapping dispatch loops invoke each frozen effect only once ↓ additional.test.ts > semantic ingestion snapshots classifier output before awaiting validation ↓ additional.test.ts > a semantic turn cannot borrow versions from a different frame ↓ additional.test.ts > turn exclusions cover executable slot refs, not only proposition summary refs ↓ additional.test.ts > synthesized batch receipts retain the idempotency key actually sent ↓ additional.test.ts > a late RUNNING acknowledgement cannot overwrite an observed terminal outcome ↓ previous.test.ts > deduplicates the same proposal while the first delivery is in flight ↓ previous.test.ts > a new confirm id cannot refreeze a transaction with a RUNNING effect ↓ previous.test.ts > a confirm for an absent transaction must not confirm a different live transaction ↓ previous.test.ts > a cancelled transaction cannot be resurrected by a revision addressed to its id ↓ previous.test.ts > caller mutation during validation cannot retarget frozen effects ↓ previous.test.ts > different runtimes do not reuse the same external idempotency key ↓ previous.test.ts > an explicitly supplied but non-covering evidence set cannot fall back to current snapshots ↓ previous.test.ts > semantic proposals retain the exact frame version rather than rebinding to a new world version ↓ previous.test.ts > an inspect/query proposition does not become an executable proposal ↓ previous.test.ts > ambiguous classification with a capability does not invoke through ingest ↓ previous.test.ts > oversized mandatory context is explicitly reported as over budget ↓ previous.test.ts > frames differing in coverage metadata have different exact-input hashes ↓ previous.test.ts > late publication cannot attach a stale neighborhood judgment to the latest generation ↓ previous.test.ts > an obligation event invalidates a judgment over prior knowledge ↓ previous.test.ts > a reused spec id rejected at a later stage cannot leave an earlier accepted value ↓ previous.test.ts > required arity-one slot validation also applies to revisions ↓ previous.test.ts > journal contains enough command identity to recognize replayed typed proposals ↓ previous.test.ts > clear-selection without refs clears the UI selection ✓ ownership.test.ts > PR2 evidence-use coverage > O1: a ref used as target and argument remains a dependency of every consuming effect 19ms ✓ ownership.test.ts > PR2 evidence-use coverage > O2: a declared shared read guard survives an unrelated revision 2ms ✓ 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 Test Files 1 passed | 5 skipped (6) Tests 3 passed | 46 skipped (49) Start at 22:43:43 Duration 565ms (transform 338ms, setup 0ms, collect 1.43s, tests 23ms, environment 1ms, prepare 544ms)