test-driver/research
tegwick 84848e9a0e T08: the classifier, measured and attacked
False Adaptation Rate = 0/7 across the labelled catalogue and the three E-003
attacks. 11 of 12 mechanical mutations absorbed without a human, so the safety
result is not bought by escalating everything.

- classification.py: total function over three signals, rule order chosen so
  every rule that could excuse a regression sits after the rule that reports
  one. SAFE_TO_ACCEPT is a two-element closed set, asserted.
- CompositeDriver plus scenarios/full_journey.py: one asset crossing both
  surfaces, so UI mutations are visible as surface differences while the
  claims they do not touch stay green.
- E-003: surface substitution (new M23), concurrent mechanical+defect,
  evidence starvation, provenance laundering. All held.

F-0006 (CONCEPT_DRIFT, resolved): the T02 design listed SEMANTIC_CHANGE as an
outcome the table could produce. It cannot - M12 and M19 are behaviourally
identical, as the lab has asserted since T05. PRODUCT_DEFECT and
SEMANTIC_CHANGE collapse into one escalating outcome, BEHAVIOUR_CHANGED, and
the distinction becomes a human adjudication. INTENT_CHANGED survives but is
detected by the claim fingerprint moving, not inferred from behaviour.

Two classifier defects found and fixed rather than reported: claims downstream
of a failed realization now yield INCONCLUSIVE rather than FAIL (a false
accusation is the mirror image of a false adaptation), and the browser driver
records a page signature so surface change is detectable when the interaction
path is unchanged.

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:02:58 +02:00
..
concepts T08: the classifier, measured and attacked 2026-08-23 00:02:58 +02:00
decisions T03: research control plane 2026-08-22 23:11:21 +02:00
experiments T08: the classifier, measured and attacked 2026-08-23 00:02:58 +02:00
findings T08: the classifier, measured and attacked 2026-08-23 00:02:58 +02:00
hypotheses T08: the classifier, measured and attacked 2026-08-23 00:02:58 +02:00
README.md T03: research control plane 2026-08-22 23:11:21 +02:00

Research Control Plane

Deliberately small. This directory exists so that claims about test-driver can be falsified rather than accumulated. It is plain files — no CLI, no schema, no tooling — until there are enough readings to justify tooling.

research/
├── hypotheses/   H-NNN — a claim with a falsification condition
├── experiments/  E-NNN — a planned or executed test of a hypothesis
├── findings/     F-NNNN — findings about test-driver itself
├── concepts/     the Concept ↔ Implementation Fitness Map
└── decisions/    pointers to decisions recorded in State Hub

Identifier convention

Prefix Scope Example
H-NNN Hypothesis H-001
E-NNN Experiment E-001
F-NNNN Framework Finding F-0001
C-<slug> Concept in the fitness map C-actor-isolation
D-NN Decision, scoped to its design note D-07
TD-WP-NNNN-TNN Workplan task (State Hub) TD-WP-0002-T04

Identifiers are stable and never reused. A rejected hypothesis keeps its number.

Hypothesis lifecycle

PROPOSED → EXPERIMENTING → SUPPORTED → PRACTICALLY_VALIDATED → ARCHITECTURAL
                  └──────→ REJECTED

A hypothesis may be reopened if later evidence contradicts it. Reopening is recorded in the file, not by creating a new identifier.

Rules

  1. Every hypothesis states what would falsify it, in terms of an observable outcome, before any experiment runs. A hypothesis with no falsification condition is an opinion.
  2. Concepts with no supporting evidence are marked as such, not quietly retained. The fitness map is expected to contain unsupported entries; hiding them defeats its purpose.
  3. Subtraction counts as progress. A rejected hypothesis or a removed abstraction is a result, not a setback.