Experiments · E105

Was the checking ladder giving up on alloys too early, at its second step?

Yes. With the early-exit rule reversed the ladder reaches the top: MoNbTaW passes with probability 0.94 instead of 0.00006.

In the log: The driver's early return is the wrong way round

confirmedDate 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 · 1 result paragraphEXPERIMENTS.md lines 6103–6181
exp E105 diagram
What E105 did and how it came out, drawn from this record and the files it names (book/assets/diagrams/exp/E105.svg).

Results

EXPERIMENTS.md · line 6145

Outcome. All three predictions hold. The ladder climbs for the first time.

The full record

EXPERIMENTS.md · lines 6103–6181

E105 — The driver's early return is the wrong way round

The ladder audit measured the driver returning at rung 1 with p = 0.00006 on equiatomic MoNbTaW in 5.3 s, where running the rungs by hand to the top gives p = 0.9404. The promotion logic at verifier.py:484 is:

settled = not (undecided[0] < r["p"] < undecided[1])
if settled and r["p"] < undecided[0]:
    return r          # "a confident failure needs no dearer opinion"

The comment is the error. In passes_requirement,

p = [1 - (1 - p_ordering) * r_order] * [1 - (1 - p_phase) * r_decomp]

with reachability r in [0,1]. As r falls the bracket rises, so p is monotone non-decreasing as transport gets harder: kinetics can only ever raise p, never lower it.

Therefore a confident pass at rung 1 cannot become a failure and may be returned early. A confident failure is precisely the case that kinetics can overturn - an alloy whose ordering is favoured but unreachable, which is the mechanism E58 established and the whole reason rung 3 exists. The driver terminates it.

And it terminates nearly everything: E63 measured all 348 compositions ordering somewhere inside the window, so rung 1's p is near zero across the system.

A second defect makes the first untestable. scripts/stage_b.py::build never sets calc, so every Verifier the pipeline constructs raises RuntimeError on rungs 2, 3 and 4. The ladder as assembled cannot climb even if the logic allowed it.

Predicted:

  1. p is monotone non-decreasing in falling reachability, verifiable numerically across the full range - the analytic claim above, checked rather than asserted.
  2. With the early return corrected and a calculator attached, V(x, top="kinetics") on equiatomic MoNbTaW returns rung="kinetics" with p within 0.02 of the 0.9404 measured by running the rungs by hand.
  3. The suite stays at 222 passing. The driver is covered by tests; if reversing the condition breaks one, the test encodes the same misunderstanding and says so.

Falsified if p is not monotone, in which case the early return may be defensible in some regime and the fix is not a simple reversal.

Outcome. All three predictions hold. The ladder climbs for the first time.

prediction measured
p monotone as reachability falls 0.0108 → 0.9958 over six decades holds
driver reaches kinetics, p within 0.02 of 0.9404 p = 0.9404, exact holds
suite stays at 222 222, now 224 with two new tests holds

The span in the first row is the finding, not the monotonicity: a composition the equilibrium rungs reject outright at p = 0.011 comes back at p = 0.996 once it is frozen. That is the entire class the old rule discarded.

Equiatomic MoNbTaW, through the driver, end to end:

rung reached   kinetics
p              0.9404
T_od           556 K        orders inside the window
drive_cold     -57 meV/atom relaxed, against the off-lattice hull
Q              5.20 eV
reach          0.0005 nm    against the 2 nm a nucleus needs
wall clock     286 s

Two changes. The early return moved from a confident failure at rung 1 to a confident pass at rung 2, which is the only place it is safe: rung 2 supplies the off-lattice driving force that rung 1 is blind to and can lower p, while rung 3 only ever raises it. And build() now attaches a calculator - without one every Verifier the pipeline constructed raised on rungs 2, 3 and 4, so the ladder could not have climbed regardless of the logic. FORAGER_NO_CALC=1 restores the old screen-only object for callers that never leave rung 0.

Two tests pin it: one asserts the monotonicity the promotion logic depends on, the other asserts the old rule has not returned.

What this does not fix. The ladder now reaches the top for one composition in 286 seconds; it is still a finalist's instrument and nothing promotes into it automatically. And the defects the audit found above rung 1 stand - rung 0 over-reports by 59 meV/atom on this same alloy, the ordering gate is withdrawn as a clearance, and with_dft still implements the comparison E77 withdrew.

Related entries

Built with PRISMWebsite and visualizations made using Claude