← Back to Learn

CLOSURE CONTRACT

The Closure Contract and Reproducibility

Takeaway: Every finding must satisfy six layers: technical (tests green), empirical (all arms run), integrity (Tarka review), artifacts (results pushed), memory (state.json), sign-off (operator).

The Contract: A phase closes only when it satisfies all six layers:

1. Technical: pytest green, ruff+mypy clean, coverage ≥80%. 2. Empirical: All experiment arms run; finding declared with interpretation. 3. Integrity: Adversarial (Tarka) review of the finding resolved; comparisons like-for-like (matched params/tokens/compute); ≥3 md5-distinct seeds. 4. Artifacts: Code+results pushed; paper/site sections updated from the finding. 5. Memory: research/memory/ (state.json, journal.md, findings.md) and ADRs updated. 6. Sign-Off: Operator sign-off on interpretation before merge to main.

Hard Rules:

Never declare "failed" on attempt 1; double-check the setup.
Never a NULL finding without ≥2 documented interventions; you must know why it didn't work.
Never report a number you didn't produce; all claims trace to a run with config hash + seeds.
Never fabricate a citation or invent evidence.
Never two GPU jobs at once (GPU lock in state.json prevents race conditions).

Why It Matters: Science requires reproducibility. Every finding published here includes:

Git commit hash
Config file SHA256
Random seeds (≥3 distinct)
Experiment folder with full results
Tarka verification notes (adversarial review)

This is binding. A null finding is valid if the intervention is documented and reviewed. A contradicted claim is value (it updates the hypothesis set). Only fabrication and rushed publication are out of scope.

Operator Ethos: Hypotheses inform the next iteration/invention toward operator intent. A well-documented null is a closure state, not an endpoint. The experiment ends when you've learned something, either because you succeeded or because you discovered a defect and fixed it.