# Project 02 — A/B/C ablation PREREGISTRATION (frozen 2026-05-25, before any solver run)

**Question.** Holding catalog, verb set, and model class fixed, does varying only the CONTROL STRUCTURE
change the quality of the design produced? Specifically, does flexibility-within-discipline (C) preserve the
fixed pipeline's value while routing around its waste, and does a free planner (B) erode the discipline that
the §9.2 ablation showed carried that value?

**Conditions.** A = fixed nine-step pipeline (baseline). B = free planner (choose/repeat/skip/stop; no
enforced checks). C = free planner + externalization post-conditions enforced before any recommendation,
incl. the lift COVERAGE CHECK, enforced by a separate verifier pass.

**Design.** 5 scenarios x 3 conditions x 2 reps = 30 target-blind cells. Blinded grading on the six-dimension
rubric (/60) by 2 independent graders. Token/operation cost logged per cell. Single runs are directional
(Hubbard); this is uncertainty-reduction, not proof.

## Frozen predictions
1. **Primary ordering: C >= A > B** on mean total /60.
2. **Interaction (the mechanism claim):** C's margin over A is **near zero on the low-obliqueness / near-
   transport, catalog-strong controls (S1 fishery, S2 service-reliability)** — where the unaided/fixed design
   already covers the pattern's components, so the coverage lift is a near-no-op (P3/P4) — and **largest on the
   high-obliqueness / distant scenarios (S3 autonomous-agent, S4 skill-exchange)** — where leaving components
   latent costs the most (P2 distance, P4 burial). S5 (strong+near but oblique) tests obliqueness alone:
   predict a small positive C-A.
3. **C does not HURT on the controls** (the over-lift guard): on S1/S2, C's coverage check should mostly
   produce `instantiated` / `correctly_declined`, not forced additions; C should not score below A. (Guards
   against the `symmetry` over-lift failure, which P4 located in exactly this high-coverage regime.)
4. **B's risk is the skipped check:** where B underperforms A, expect its transcripts to show it stopping
   without a coverage check on a design that dropped a component (the failure the discipline exists to catch).
5. **Cost:** A is cheapest in operations (fixed, no revisiting). C costs more than B (the verifier pass +
   any revision round). The question is whether C's quality gain justifies its cost; report both.

## Decision rules
- If **C >= A > B** with the predicted interaction (C-A grows with obliqueness/distance), the verb-engine
  thesis is supported: flexibility plus enforced discipline beats both rigidity and unconstrained freedom,
  and the coverage check is the load-bearing discipline.
- If **B > A**, probe hard (per spec): inspect B's histories. If B won by *incidentally* running the coverage
  check, that supports C (discipline, not rigidity, was the value). If B won by needing fewer steps on easy
  scenarios with no dropped components, that argues A's rigidity is overhead on easy problems and the win is
  control-flexibility, not discipline.
- If **A >= C**, the enforced discipline did not add value over the fixed order (or the verifier was too
  lax / the scenarios too easy); report and diagnose (likely a ceiling / scenario-difficulty problem, cf.
  the persistent ceiling in P1-P4).
- If C **scores below A on a control (S1/S2)**, that is evidence of over-lift leaking through the coverage
  check — a real negative result about the verb, to report plainly.

## Confounds named (controlled where possible, named where not)
- Grade FINAL RECOMMENDATION ONLY, normalized (no method tells: no verb/archetype/catalog vocabulary, no
  transcript) — identical normalization across A/B/C so the control structure cannot leak to the grader.
- Equal length budget (<=1000 words) across conditions (length->quality control).
- Blinded grading; opaque cids; 2 independent graders; private mappings.
- Rubric overlap: 3 of 6 dims (1 coherence, 2 failure-modes, 5 equity) are catalog-aligned — report dims
  {1,2,5} and {3,4,6} separately as a robustness check.
- Operator contamination: designer does not grade. Scenarios target-blind, no operative-prime telegraphing.
- Deep confound (named, not removed): designer = solver = grader = same model class. Mitigated by blinding,
  pre-registration, and the within-design interaction test (which is internal to the same model and so robust
  to a uniform model bias). Directional.

## Reproduce
`python scripts/exp_project02.py build` (prompts + private manifest) -> run solvers (subagents, write to
outputs/) -> for C cells, run the verifier pass (verifier_prompt.md) and any revision round ->
`python scripts/exp_project02.py gradesets` -> run 2 graders/grade-set (grader_prompt.md) -> unblind via the
private mappings -> RESULTS.md. `status` / `pending` track and resume.
