T10: gate review and first compression pass

All four gate criteria met. False Adaptation Rate 0/7 with 12 of 13 mechanical
mutations absorbed. 178 tests pass. TD-WP-0002 finished.

Fitness loop closed via F-0003: actor isolation was a property of scenarios
written to expose it, not of runs. Actors now carry an automatic private
marker and the runner examines all of them on every scenario, with two
permanent regressions behind it.

Compression - six abstractions removed, each declared and never used:
Verdict.SUSPICIOUS (a verdict no oracle could emit), Step.expect_refusal,
ActorIsolationError, World.seed, EvidencePack.latest, Trajectory.method.

F-0008: Temperature may be redundant. Crystallization was built without it
ever being consulted; measured stability of realization did the work, and is
observed rather than declared. Gated for removal alongside energy.py.

INTENT_CHANGED and REALIZATION_FAILED had never run. Both now have
purpose-built cases and a test that fails if a seventh outcome is added
without one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1629012@bnt-lap001
Assistant-Session: 78d4fb13-8a1e-474b-87a3-9b9261c49a39
This commit is contained in:
tegwick 2026-08-23 00:39:36 +02:00
parent 4f4219d8f7
commit 1b9860a8ee
40 changed files with 1074 additions and 46 deletions

View file

@ -94,6 +94,23 @@ def check_actor_isolation(
return violations
def check_isolation_was_examined(pack: Mapping[str, Any]) -> list[str]:
"""Every run must carry a verdict on actor isolation — F-0003, resolved.
Before this existed, isolation was only observable in scenarios written to
expose it: a run in which every actor shared one memory store produced
evidence indistinguishable from a correct one. Actors now carry an automatic
private marker and the runner examines them on every scenario, so the absence
of this observation is itself a failure.
"""
for obs in _observations(pack):
if obs["kind"] != "actor_isolation":
continue
violations = obs["data"].get("violations") or []
return [f"actor isolation violated: {v}" for v in violations]
return ["this run did not examine actor isolation at all"]
# --- td://self/oracle-independence ---------------------------------------