Which known defects can give wrong answers, and can the worst be fixed first?
Partly. Eleven defects were ranked by harm and the two worst were fixed: a broken DFT comparison and a backwards kinetics charge.
In the log: Working the defect list
recordedDate not stated in the log; it was written between the commit of 2026-09-13 08:16 and the first commit that contains it, 2026-09-16 02:04unclassified0 predictions · 0 result paragraphsEXPERIMENTS.md lines 6183–6230
What E106 did and how it came out, drawn from this record and the files it names (book/assets/diagrams/exp/E106.svg).
Results
No result paragraph for this entry was found in the log.
The full record
EXPERIMENTS.md · lines 6183–6230
E106 — Working the defect list
The ladder audit produced a verified list of what is broken. Worked in order of whether it
can produce a wrong answer, not of how easy it is.
Tier 1, produces wrong answers
Verifier.with_dft implements the comparison E77 withdrew - subtracts cells holding
different atoms. The repair exists in scripts/dft_check.py and was validated by E78.
Three tests pin the broken arithmetic.
with_kinetics never passes order_at_nm, so ordering is charged the reach at the top of
the window - which passes_requirement's own docstring calls backwards.
stage_b.py reads drive_conservative, so every arm comparison in the project runs
without the ordering term. The E96 fix reached one caller of two.
Rung 0 over-reports stability by 59 meV/atom on MoNbTaW, in the direction its docstring
calls impossible. This is what the generator learns from.
Tier 2, correctness hazards
5. The window is parameterised in build() and hardcoded in three scripts.
6. offlattice_hull12.json has 671 phases where E86 records 613; offlattice_hull12_full.json
is written and read by nothing.
Tier 3, documentation that has outrun the code
7. estimated_relaxation's docstring describes a superseded model; a test asserts a
correlation that is now 1.0 by construction and calls it +0.97.
8. descriptors calls the cluster expansion and costs 70x its claimed "no model involved".
9. Costs reported as hardcoded zeros at rungs -1 and 0.
10. Thirteen keys written by screen and read by nothing.
11. Three ladders coexist; two answer withdrawn questions.
Tier 1, items 1 and 2 done.
Verifier.with_dft now computes each model's mixing energy against its own elemental
references in the same cell, weighted by the cell's actual integer composition - the repair
scripts/dft_check.py has carried since E77 and E78 validated to 1 and 4 meV/atom. The
convention constant changed from difference-same-cell to mixing-energy-own-references,
and the two tests that pinned the withdrawn arithmetic now pin the repair. The end-to-end
stub test is rewritten around planted pw.out files whose element totals are deliberately
thousands of eV apart, so that under the withdrawn arithmetic the test could not be written
at all - which is the clearest statement of what the repair buys.
with_kinetics now passes order_at_nm, charging ordering the diffusion distance at its own
transition temperature rather than at the top of the window. passes_requirement's docstring
has called the alternative backwards since it was written, and verify_fly_finds.py has done
it correctly all along while the method did not.
223 passing. The count moved 224 to 223 because the two DFT tests were merged into one
rewritten end-to-end test, not because one was lost - the 26 tests in test_verifier.py are
all accounted for by name.
Related entries
E77 — The DFT comparison was subtracting different atoms, and is withdrawn
E78 — First principles agrees with the potential about the ranking, to 1 and 4 meV/atom
E96 — The screen was rewarding the ordering hazard, and the binary optimum is withdrawn
E86 — Separating bcc-derived from close-packed by counting neighbours