Harden trusted-binding replay conformance #182

Merged
lost-rob0t merged 2 commits from rage/181-binding-replay-race into main 2026-08-24 23:47:53 +00:00
lost-rob0t commented 2026-08-24 16:59:39 +00:00 (Migrated from github.com)

Failure repaired

Post-merge main run 32750635555 completed all 783 deterministic tests but failed rlm_tool_effect:trusted_binding_identity_prevents_cross_binding_replay with no failing state because the test used silent raw outcome unifications. The reviewed PR head and merge commit had identical Git trees, and an unchanged rerun passed, establishing nondeterminism rather than a merge-only source change.

Test invariant

The conformance case now:

  • forces the two materially different trusted bindings to enter concurrently using message queues before either is released;
  • retains same-binding identity equality, cross-binding identity inequality, exact outputs, and the independent two-mutation assertion;
  • labels every prepare, approval, resolution, and cleanup-denial expectation with its actual value on failure;
  • waits for semantic Future completion while the canonical deterministic runner retains its authoritative 20-second per-test timeout, instead of imposing an unrelated private two-second performance bound.

The fixture reset also now retracts and destroys gate queues in the correct order. Previously it erased the queue handles before cleanup could destroy them.

Non-goals

  • no production authority, async, effect, or tool behavior changed
  • no CI retry/skip/informational conversion
  • no provider/MCP/process adoption from broader #79

Evidence

  • original attempt: 782/783, exact named failure preserved
  • strengthened forced-interleaving stress: 800/800 across eight concurrent fresh-process workers
  • focused effect suite: 14/14
  • runner integrity: 19/19
  • deterministic aggregate: 75 suites, 783/783, zero failed/timeout/blocked/fixme
  • deterministic benchmark: 16/16
  • deep experiment: 15/15
  • JSON CLI demo: pass
  • Nix flake checks: 3/3
  • git diff --check: pass

Closes #181

## Failure repaired Post-merge `main` run 32750635555 completed all 783 deterministic tests but failed `rlm_tool_effect:trusted_binding_identity_prevents_cross_binding_replay` with no failing state because the test used silent raw outcome unifications. The reviewed PR head and merge commit had identical Git trees, and an unchanged rerun passed, establishing nondeterminism rather than a merge-only source change. ## Test invariant The conformance case now: - forces the two materially different trusted bindings to enter concurrently using message queues before either is released; - retains same-binding identity equality, cross-binding identity inequality, exact outputs, and the independent two-mutation assertion; - labels every prepare, approval, resolution, and cleanup-denial expectation with its actual value on failure; - waits for semantic Future completion while the canonical deterministic runner retains its authoritative 20-second per-test timeout, instead of imposing an unrelated private two-second performance bound. The fixture reset also now retracts and destroys gate queues in the correct order. Previously it erased the queue handles before cleanup could destroy them. ## Non-goals - no production authority, async, effect, or tool behavior changed - no CI retry/skip/informational conversion - no provider/MCP/process adoption from broader #79 ## Evidence - original attempt: 782/783, exact named failure preserved - strengthened forced-interleaving stress: 800/800 across eight concurrent fresh-process workers - focused effect suite: 14/14 - runner integrity: 19/19 - deterministic aggregate: 75 suites, 783/783, zero failed/timeout/blocked/fixme - deterministic benchmark: 16/16 - deep experiment: 15/15 - JSON CLI demo: pass - Nix flake checks: 3/3 - `git diff --check`: pass Closes #181
Sign in to join this conversation.
No description provided.