Does the ledger make the lifecycle breed? Three stages, each with a kill switch: mine our own history for method fitness, teach receipts to cite the methods that produced them, then run a blinded trial — fitness-chosen methods against my judgment — on real work. If it holds, choosing methods becomes a query and the shop’s judgment compounds without ratification as the bottleneck. If it fails, it fails cheaply, on the record.
Choices already made in the design — annotate if any feels wrong.
Take a single method — say, “adversarial verify with a falsify-first harness on opus” — and walk it through the three stages.
H1 (heredity is representable): ≥80% of dispatches attribute to a finite gene tuple (engine×effort, harness shape, workflow shape, skills, brief class). Kill: <60% attribution — method identity is fiction at our granularity.
H2 (fitness discriminates): per-gene settlement outcomes show variance beyond sampling noise, stable in sign across a temporal split. Kill: uniform, or sign-flips between halves.
H3 (fitness predicts): fitness from window one predicts window two with positive lift over base rate (Brier / log-loss). Control: 1000× label permutation must destroy the lift. Kill: no lift, or the scrambled control keeps it.
H4 (selection lifts the ceiling): the fitness-routed arm beats the judgment-routed arm on pre-registered outcomes in a paired trial. Kill: no difference at the pre-registered bar.
Sources: the engine-bay run ledger (engine, slug→brief class, adversarial flag, verdicts, elapsed, repo, retries); quanta’s in-tree + off-tree ledgers; gate history. Infra-deaths (sandbox/infra failures) are excluded from fitness and enumerated separately — they indict the bay, not the method.
Gene tuple v0: (engine, brief class, adversarial leg). Coarse on purpose; refined only if H1 holds.
Discipline: the analysis script and outputs are committed; the lead recomputes headlines from raw; an independent leg re-runs it (the reviewer is never the author). Stratify by repo and task class to catch the “good methods got easy tasks” confound.
produced_by — the list of method identities that made the claim. Verification ignores it; old receipts stay valid; switching it off costs nothing. From that day, the ledger accumulates fitness data as a side effect of ordinary work, forever. This is the heredity mechanism: methods become things with lineages and track records instead of prose in doctrine files.
Additive optional array on the fact record: produced_by: [{gene, v}] — gene = a registry id (engine-bay card, saved workflow, skill path, gate harness id, spec template), v = content hash. Emission via quanta ledger bank --produced-by and a gate-tail env contract. Shape-validated, never required; ledger verify ignores it (fitness is not correctness). Ships only through the full build sequence, after your ratification.
Unit: task pairs matched on repo, task class, size band; alternating assignment within stratum. Target: ≥40 pairs before first look (~2 weeks at current bay volume). Outcomes, primary first: escaped-defect rate (found by standing adversarial audits after merge), rework cycles, receipts-still-hold at +30 days, wall clock. Blinding: the fitness query’s recommendation is logged before execution; grading legs see no arm labels. Analysis: paired per stratum against the pre-registered bar; the result banks to the ledger either way — a null is a settlement, not a failure to report.
produced_by field?It’s additive and optional, but it is a schema change to the receipt — the trust layer we just made canonical. Stage B does not ship without your ratification.
The trial needs a real workstream with volume. The bay’s dispatch stream (~340 runs/week) is the natural candidate. Which stream of real work do you want the trial run on?
Proposed: the fitness arm shows ≥25% relative reduction in escaped defects at equal-or-better wall clock, sustained across two consecutive windows. Accept or set your own number — pre-registered, so the bar can’t move after we see results.
Hard tasks get good methods, so “good method” may just mean “easy task.” Guard: matched pairs in the trial; stratified analysis in the mining.
A method with five runs has no fitness worth the name. Guard: minimum-run gates before a method’s score counts; wide uncertainty bounds reported, never point estimates alone.
Once fitness routes work, methods optimize the metric. Guard: the metric’s only inputs are adversarially-produced settlements — gaming it requires genuinely surviving attack.
Judgment might beat the query. Then we say so on the ledger and keep the better tool. The experiment is built so losing is cheap, clean, and recorded.
Hypotheses: H1–H4 · Instruments: bay ledger · quanta ledgers · gate history · Controls: label permutation · blinded pairing · Mechanism: produced_by · Decision points: your three calls · Failure honesty: risks · Canonical source: docs/ai/EXPERIMENT-adlc-heredity.md