Is the log's count of 613 competing phases simply out of date?
Yes. The file holds 671: the same 136 prototypes plus 535 database phases. But 18 data files have no recorded producer.
In the log: Reconciling the hull phase count, and what a fresh clone cannot do
mixedDate not stated in the log; it was written between the commit of 2026-09-16 02:04 and the first commit that contains it, 2026-09-16 02:53rung 2 · hull, MACE0 predictions · 1 result paragraphEXPERIMENTS.md lines 7113–7128, lines 7130–7159, lines 7161–7201
What E120 did and how it came out, drawn from this record and the files it names (book/assets/diagrams/exp/E120.svg).
Pre-registration
The pre-registration, as written
E120, second half: a fresh clone cannot rebuild this project, and the gap includes the
default expansion.
data/ and runs/ are gitignored and zero files under either are tracked. Twenty-six
files sit in data/ on this machine. Checking each against every script that writes a file,
eighteen have no producer anywhere in the repository:
ce_12element.npz / .icet <- THE CURRENT DEFAULT EXPANSION
ce_12element_focused.npz / .icet
ce_8element_prior.npz / .icet
references_equilibrium.npz <- required by stage_b for 8 elements
references_equilibrium12.npz <- required by stage_b for 12 elements
offlattice_hull12_full.json (orphan, nothing reads it)
offlattice_hull.partial.jsonl
pair_interactions.npz
odt_sample.json
+ 7 connectome inputs (external downloads, legitimately not produced here)
Two of those are serious rather than untidy.
ce_12element.npz is the default expansion since E114 and cannot be rebuilt.build_ce_multi.py writes data/ce_multi.{npz,icet} by default, not ce_12element; whatever
invocation produced the twelve-element fit is not recorded anywhere. Every result from E114
onward - the 1705-composition grid, the 55 feasible compositions, the E115 head-to-head -
rests on a file that exists only on this machine and whose provenance is not in the repo.
references_equilibrium*.npz have no writer at all. Nothing in scripts/ or forager/
calls savez on that stem. stage_b.build() refuses to start without one, so a clone cannot
even construct a verifier.
This is not a documentation gap. The 227 passing tests pass because untracked files happen
to be present, which is why CI, which installs neither icet nor data/, fails about 19 of
them. A green suite here is not evidence the project builds.
Not fixed this hour, and deliberately not papered over with a stub. Writing a plausible
producer that regenerates a different file would be worse than the current state: every
number in EXPERIMENTS.md would then be attributed to an expansion that did not produce it.
The honest repair is to (a) record the exact invocation that made ce_12element and
references_equilibrium12, from shell history or the file metadata, and (b) decide whether
data/ should be tracked, which for a 12 MB expansion is a real decision and the operator's
to make. Both are written into OVERNIGHT.md.
Results
EXPERIMENTS.md · line 7130
E120 result: prediction confirmed, and the bookkeeping fix uncovered a substantive one.
offlattice_hull12.json decomposes as 136 prototypes + 535 database phases - 193
alexandria, 167 mc3d, 132 mc3d-psol, 43 jarvis - which is 671. E86's 613 is stale, not
wrong: the hull was rebuilt with 58 further database phases after that entry was written
and the entry was never updated. E86 is superseded on this number, not withdrawn.
The substantive finding is what the breakdown shows about the other hull.offlattice_hull.json, the eight-element hull that every pre-E114 result was differenced
against, holds 136 phases and all 136 are prototypes. It contains no database phase at
all. All 136 appear in the twelve-element hull as its prototype set, so the two are nested:
The twelve-element hull therefore adds 535 competitors the eight-element hull never had.
A driving force is the distance below the hull, so a composition scored against the wider hull
is scored against far more rivals, and the two numbers are not comparable. This is a
difference in kind, not in element count.
This makes task 5 - "re-measure the eight-element record on twelve" - a larger claim than it
appeared. It was written as though only the element set had changed. Both the expansion and
the hull changed, and the hull change is the one that moves driving forces. Any comparison
between a pre-E114 number and a current one is confounded by it unless the hull is held fixed.
Consequence for E117, which is load-bearing. Its 1705-composition grid, the 55 feasible
compositions and the "twelve-fold enrichment" were all computed against the 671-phase hull.
That is the right hull for a twelve-element search, so E117 stands. But its comparison to
E114's eight-element collapse measurement crosses the hull boundary and should not be read as
a like-for-like difference.
The full record
This entry is written in 3 separate places in the log, shown here in log order.
EXPERIMENTS.md · lines 7113–7128
E120 — Reconciling the hull phase count, and what a fresh clone cannot do
Two defects surfaced by the documentation pass, neither fixed when found.
The hull count disagrees with the record.E86 states the twelve-element hull stands at
613 phases - 136 prototypes plus 477 database. data/offlattice_hull12.json on disk holds
671. offlattice_hull12_full.json holds 1072 and is an orphan nothing reads.
Predicted: the 671 decomposes as 136 prototypes plus 535 database entries - the same
prototype set, more database phases - because the hull was rebuilt after E86 was written and
the entry was never updated. On that reading E86 is stale, not wrong, and the fix is to
record the current number rather than to rebuild anything.
Falsified if the prototype count is not 136, which would mean two different hull-building
paths exist and produce different prototype sets, and then the question is which of them
produced the file every driving force in this project has been differenced against.
EXPERIMENTS.md · lines 7130–7159
E120 result: prediction confirmed, and the bookkeeping fix uncovered a substantive one.
offlattice_hull12.json decomposes as 136 prototypes + 535 database phases - 193
alexandria, 167 mc3d, 132 mc3d-psol, 43 jarvis - which is 671. E86's 613 is stale, not
wrong: the hull was rebuilt with 58 further database phases after that entry was written
and the entry was never updated. E86 is superseded on this number, not withdrawn.
The substantive finding is what the breakdown shows about the other hull.offlattice_hull.json, the eight-element hull that every pre-E114 result was differenced
against, holds 136 phases and all 136 are prototypes. It contains no database phase at
all. All 136 appear in the twelve-element hull as its prototype set, so the two are nested:
The twelve-element hull therefore adds 535 competitors the eight-element hull never had.
A driving force is the distance below the hull, so a composition scored against the wider hull
is scored against far more rivals, and the two numbers are not comparable. This is a
difference in kind, not in element count.
This makes task 5 - "re-measure the eight-element record on twelve" - a larger claim than it
appeared. It was written as though only the element set had changed. Both the expansion and
the hull changed, and the hull change is the one that moves driving forces. Any comparison
between a pre-E114 number and a current one is confounded by it unless the hull is held fixed.
Consequence for E117, which is load-bearing. Its 1705-composition grid, the 55 feasible
compositions and the "twelve-fold enrichment" were all computed against the 671-phase hull.
That is the right hull for a twelve-element search, so E117 stands. But its comparison to
E114's eight-element collapse measurement crosses the hull boundary and should not be read as
a like-for-like difference.
EXPERIMENTS.md · lines 7161–7201
E120, second half: a fresh clone cannot rebuild this project, and the gap includes the
default expansion.
data/ and runs/ are gitignored and zero files under either are tracked. Twenty-six
files sit in data/ on this machine. Checking each against every script that writes a file,
eighteen have no producer anywhere in the repository:
ce_12element.npz / .icet <- THE CURRENT DEFAULT EXPANSION
ce_12element_focused.npz / .icet
ce_8element_prior.npz / .icet
references_equilibrium.npz <- required by stage_b for 8 elements
references_equilibrium12.npz <- required by stage_b for 12 elements
offlattice_hull12_full.json (orphan, nothing reads it)
offlattice_hull.partial.jsonl
pair_interactions.npz
odt_sample.json
+ 7 connectome inputs (external downloads, legitimately not produced here)
Two of those are serious rather than untidy.
ce_12element.npz is the default expansion since E114 and cannot be rebuilt.build_ce_multi.py writes data/ce_multi.{npz,icet} by default, not ce_12element; whatever
invocation produced the twelve-element fit is not recorded anywhere. Every result from E114
onward - the 1705-composition grid, the 55 feasible compositions, the E115 head-to-head -
rests on a file that exists only on this machine and whose provenance is not in the repo.
references_equilibrium*.npz have no writer at all. Nothing in scripts/ or forager/
calls savez on that stem. stage_b.build() refuses to start without one, so a clone cannot
even construct a verifier.
This is not a documentation gap. The 227 passing tests pass because untracked files happen
to be present, which is why CI, which installs neither icet nor data/, fails about 19 of
them. A green suite here is not evidence the project builds.
Not fixed this hour, and deliberately not papered over with a stub. Writing a plausible
producer that regenerates a different file would be worse than the current state: every
number in EXPERIMENTS.md would then be attributed to an expansion that did not produce it.
The honest repair is to (a) record the exact invocation that made ce_12element and
references_equilibrium12, from shell history or the file metadata, and (b) decide whether
data/ should be tracked, which for a 12 MB expansion is a real decision and the operator's
to make. Both are written into OVERNIGHT.md.
Related entries
E86 — Separating bcc-derived from close-packed by counting neighbours
E114 — The search space was eight elements, and the search collapses inside it
E117 — Is rung 0's reward anti-aligned with the actual requirement?
E115 — The same head-to-head, with the implementation defects fixed