test-driver/research/concepts/fitness-map.md
tegwick 1b9860a8ee 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
2026-08-23 00:39:36 +02:00

5.1 KiB

Concept ↔ Implementation Fitness Map

Updated: 2026-08-23 (TD-WP-0002-T10)

Traces each important concept to the implementation, experiment and evidence that support it. Unsupported entries are the point of this map — a concept with no implementation and no evidence is not a gap to be embarrassed about, it is the current honest state, and hiding it defeats the map's purpose.

Support levels follow TestDriverImprovementLoop.md §13: C0 Idea · C1 Hypothesis · C2 Experimentally Supported · C3 Practically Validated · C4 Architectural Invariant

Current state

C-semantic-action is the first concept to reach C2: it has an experiment behind it (the T07 two-arm comparison), and that experiment narrowed the claim rather than confirming it. Everything else still rests on unit tests.

The deterministic kernel exists (T04) and its guarantees are covered by unit tests. Levels do not move for those. A passing unit test is not an experiment: it shows the code does what its author intended, not that the concept holds under the mutations it claims to survive. Levels rise when E-001/E-002/E-003 produce evidence, not before. The implementation column below moves; the level column does not. The initial classifications in §13 of the Improvement Loop (Actor Isolation C2, Independent Oracles C2) are corrected downward here: they were aspirational, not evidenced.

Concept Level Implementation Experiment Evidence Open question
C-use-case C1 intent.py Is a use case expressible without leaking mechanics?
C-actor-isolation C2 world.py, runner.py E-001 td://self/actor-isolation, examined every run F-0003 resolved — automatic canaries; observable on every scenario.
C-semantic-action C2 actions.py, agentic.py E-001 (partial) T07 arm comparison F-0005 — supported only where stable identifiers are absent. Narrower than the concept model claims.
C-oracle-independence C2 runner.py, oracles.py E-001, E-003 Independence of components ≠ independence of belief. (H-004)
C-evidence-pack C1 evidence.py td://self/evidence-reproducibility Verdicts are reproducible from S3 alone, on passing and failing runs.
C-observation-channel C1 lab/app.py D-07 — required of every system under test. Adoption cost unknown.
C-adaptation C2 classification.py, agentic.py E-001 T08 matrix 11/12 mechanical absorbed without a human.
C-classification C2 classification.py E-001, E-003 T08 matrix, FAR 0/7 F-0006 — cannot infer SEMANTIC vs DEFECT; collapses to one escalating outcome.
C-crystallization C2 crystallization.py E-002 T09 agreement matrix Fidelity supported; F-0007 — the economic case is unmeasurable with a token-free runtime.
C-intent-provenance C1 provenance.py E-003 td://self/intent-independence Constrains provenance, not quality. Accepted residual.
C-lineage C1 scenario.py, generated headers E-002 generated module docstring Parent pointer plus provenance in the artefact; no graph.
C-energy C0 energy.py, capture only none Dormant. Gated: if the next workplan ends with no decision having used the history, remove.
C-temperature C0 — under review none F-0008 — crystallization was built without it; measured stability did the work. Gated for removal.
C-confidence C0 none Declared, unimplemented, never consulted. Same position as C-temperature without a built alternative.
C-campaign C0 Deferred.
C-metabolism C0 Deferred. Depends on C-energy.
C-retirement C0 Deferred. Depends on C-energy.
C-security-mutation C1 lab/mutations.py E-003 lab/GROUND-TRUTH.md Catalogue is hand-written; no derivation mechanism from use cases yet.

Orphan check

Conceptual orphans — concepts with no planned implementation in TD-WP-0002: C-temperature, C-confidence, C-campaign, C-metabolism, C-retirement.

All five are deferred by explicit decision, not oversight. They are the group most at risk of being built because they are easy and satisfying, and never validated. They are revisited at T10, where the question is not "when do we build these" but "does the evidence justify keeping them in the model at all".

Implementation orphans — none. Every module in src/testdriver/ traces to a concept above.

Removed at T10 (compression pass — see the gate review § 3): Verdict.SUSPICIOUS, Step.expect_refusal, ActorIsolationError, World.seed, EvidencePack.latest(), Trajectory.method. Each was declared and never used; SUSPICIOUS was additionally a verdict no oracle could emit.

Gated for removal: C-temperature (F-0008) and energy.py. Both survive the current review on the strength of being cheap, not of being used. If the next workplan closes without a decision consulting either, they go.