{"id":"y-matrix-preregistration","title":"Y-Matrix Cross-Property Pre-Registration","subtitle":"Registered hypotheses, coupling-aware nulls, kill conditions — with preserved amendments including a same-day falsified Fe hypothesis.","category":"methods","tags":["preregistration","y-matrix","nulls","mlip"],"source":"articles/docs/plans/y-matrix-cross-property-preregistration-2026-07-01.md","lang":"en","words":1596,"readMinutes":7,"toc":[{"depth":2,"text":"Revision history","id":"revision-history"},{"depth":2,"text":"Why this experiment is the critical one","id":"why-this-experiment-is-the-critical-one"},{"depth":2,"text":"Systems","id":"systems"},{"depth":2,"text":"Property families (Y)","id":"property-families-y"},{"depth":2,"text":"Model grid (X)","id":"model-grid-x"},{"depth":2,"text":"Reference targets and binding policy","id":"reference-targets-and-binding-policy"},{"depth":2,"text":"Registered hypotheses and kill conditions","id":"registered-hypotheses-and-kill-conditions"},{"depth":3,"text":"H1 — Cross-property low dimensionality","id":"h1-cross-property-low-dimensionality"},{"depth":3,"text":"H2 — Shared leading error mode across models","id":"h2-shared-leading-error-mode-across-models"},{"depth":3,"text":"H3 — Training-distribution failure prediction","id":"h3-training-distribution-failure-prediction"},{"depth":3,"text":"H4 — Correction transfer (staged)","id":"h4-correction-transfer-staged"},{"depth":2,"text":"Round 2 registrations (2026-07-02, registered BEFORE the MPA-0 sweep runs)","id":"round-2-registrations-2026-07-02-registered-before-the-mpa-0-sweep-runs"},{"depth":3,"text":"R2-H1 — Training-distribution causality (the softening story's direct test)","id":"r2-h1-training-distribution-causality-the-softening-story-s-direct-test"},{"depth":2,"text":"Nulls (coupling-aware — mandatory)","id":"nulls-coupling-aware-mandatory"},{"depth":2,"text":"Exploratory quarantine","id":"exploratory-quarantine"},{"depth":2,"text":"Outputs and provenance","id":"outputs-and-provenance"},{"depth":2,"text":"Deviations log","id":"deviations-log"}],"html":"<h1 id=\"y-matrix-pre-registration-cross-property-error-geometry\">Y-Matrix Pre-Registration — Cross-Property Error Geometry</h1><blockquote>\n<p><strong>Version:</strong> 1.0 (2026-07-01)\n<strong>Objective:</strong> Determine whether foundation-MLIP error geometry spans property\nfamilies — i.e., whether the low-dimensional structure previously measured\ninside elastic constants is a property of the <em>model</em> (a real ribbon in\nprediction space) or an artifact of the <em>property family&#39;s internal physical\ncoupling</em> (Cauchy relation, stability constraints).\n<strong>Registered before confirmatory analysis</strong> of the first cross-property sweep\n(<code>data/y_matrix_runs/</code>, launched 2026-07-01). The sweep&#39;s machinery smoke\ntests (Ni/MACE-MP-small) were observed during development and are quarantined\nas exploratory — see §Exploratory quarantine.</p>\n</blockquote>\n<h2 id=\"revision-history\">Revision history</h2><div class=\"table-wrap\"><table><thead><tr>\n<th>Date</th>\n<th>Change</th>\n<th>Author</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Date\">2026-07-01</td>\n<td data-label=\"Change\">v1.0 — initial registration</td>\n<td data-label=\"Author\">squad (Claude + Alex Welcing)</td>\n</tr>\n</tbody></table></div><h2 id=\"why-this-experiment-is-the-critical-one\">Why this experiment is the critical one</h2><p>All prior evidence in the ledger (~1,320 records) sits inside one property\nfamily: 0 K cubic elastic constants. Elastic constants are physically coupled\nto each other, so low-dimensional error structure measured within them cannot\ndistinguish &quot;the model&#39;s error manifold is a hyper-ribbon&quot; from &quot;elasticity is\ninternally coupled.&quot; The Y-matrix adds property families with <em>different</em>\nphysical couplings — point defects, surfaces, planar faults, equations of\nstate, formation enthalpies — which breaks the degeneracy. Whatever the\noutcome, the correction program (&quot;the turbo&quot;) ships; this experiment determines\nits <strong>gearing</strong> (one shared correction operator vs per-family operators).</p>\n<h2 id=\"systems\">Systems</h2><ul>\n<li><strong>Tier 1 (metals):</strong> Ni, Cu, Al (fcc — full battery incl. SFE); Fe, W (bcc —\nno SFE lane). Expansion to the full 16-metal set follows the same registered\nprotocol.</li>\n<li><strong>Tier 3 (beyond metals):</strong> Si (diamond); NiAl (B2); Ni3Al (L1₂).</li>\n<li><strong>Tier 2 (finite-T: thermal expansion, melting):</strong> staged; NOT covered by\nthis registration. A separate registration will follow.</li>\n</ul>\n<h2 id=\"property-families-y\">Property families (Y)</h2><p>Per material, as structurally applicable:</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Family</th>\n<th>Properties</th>\n<th>Unit</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Family\">Lattice/cohesion</td>\n<td data-label=\"Properties\">a₀</td>\n<td data-label=\"Unit\">Å</td>\n</tr>\n<tr>\n<td data-label=\"Family\">EOS</td>\n<td data-label=\"Properties\">B₀, B₀′</td>\n<td data-label=\"Unit\">GPa, —</td>\n</tr>\n<tr>\n<td data-label=\"Family\">Point defect</td>\n<td data-label=\"Properties\">E_vac</td>\n<td data-label=\"Unit\">eV</td>\n</tr>\n<tr>\n<td data-label=\"Family\">Surfaces</td>\n<td data-label=\"Properties\">γ₁₀₀, γ₁₁₀, γ₁₁₁ (fcc); γ₁₀₀, γ₁₁₀ (bcc)</td>\n<td data-label=\"Unit\">J/m²</td>\n</tr>\n<tr>\n<td data-label=\"Family\">Planar fault</td>\n<td data-label=\"Properties\">γ_SFE (fcc only)</td>\n<td data-label=\"Unit\">mJ/m²</td>\n</tr>\n<tr>\n<td data-label=\"Family\">Compound stability</td>\n<td data-label=\"Properties\">ΔH_f (intermetallics)</td>\n<td data-label=\"Unit\">eV/atom</td>\n</tr>\n</tbody></table></div><p>Computed by <code>python/lupine_distill/statics/</code> (226-test suite; bit-reproducible\n≤1e-11), CLI <code>python/scripts/run_y_matrix_statics.py</code>, GPU lane pinned in\n<code>python/requirements-gpu-lane.lock</code>.</p>\n<h2 id=\"model-grid-x\">Model grid (X)</h2><ul>\n<li>MACE-MP-0 small, MACE-MP-0 medium (mace-torch 0.3.16)</li>\n<li>CHGNet 0.4.2</li>\n</ul>\n<p>Explicit fail-fast model registry — no silent substitution (registered as a\ndesign invariant after the torchsim model_id defect, fixed 2026-07-01).\nExpansion models (M3GNet/TensorNet via matgl, Orb, SevenNet, UMA) join under\nthe same protocol when their lanes are pinned.</p>\n<h2 id=\"reference-targets-and-binding-policy\">Reference targets and binding policy</h2><p>Reference values live exclusively in <code>data/y_matrix_targets/*.json</code>\n(schema <code>lupine.y_matrix_targets.v1</code>), compiled under a <strong>no-fabrication\nrule</strong>: every value carries a verified citation; unverifiable values are\nrecorded as unresolved gaps, and <strong>properties whose reference is unresolved\nare excluded from confirmatory hypothesis tests</strong> (they may be reported\ndescriptively, labeled as such). Where DFT and experimental references both\nexist they are separate entries; the confirmatory target per property is the\n<strong>DFT-PBE value when available, else experiment</strong>, chosen now to match the\ntraining-data provenance of the model grid (all MP/MPtrj-derived). Elastic\nreference values additionally require resolution of the known\nFamily A/B discrepancy (audit finding, task #11) before elastic properties\njoin the cross-property vectors.</p>\n<h2 id=\"registered-hypotheses-and-kill-conditions\">Registered hypotheses and kill conditions</h2><h3 id=\"h1-cross-property-low-dimensionality\">H1 — Cross-property low dimensionality</h3><p>For each model, assemble per-material error vectors across all\nreference-resolved properties (normalization: signed relative error\n(pred − ref)/|ref| per property; properties with |ref| below 10× its\ncompilation uncertainty use absolute error scaled by the family&#39;s median |ref|\n— guard against near-zero-reference degeneracy, e.g. SFE). The participation\nratio of the material-by-property error covariance is <strong>lower than the 95th\npercentile of the coupling-aware null</strong> (§Nulls).</p>\n<p><strong>Kill:</strong> PR within or above the null band → the elastic-era &quot;ribbon&quot; is not a\ncross-property object; report as refutation of cross-property universality.</p>\n<h3 id=\"h2-shared-leading-error-mode-across-models\">H2 — Shared leading error mode across models</h3><p>The leading principal error mode (from H1&#39;s covariance) has pairwise cosine\nsimilarity &gt; 0.7 across the three models, exceeding the 95th percentile of\nthe same statistic under the null.</p>\n<p><strong>Kill:</strong> similarity indistinguishable from null → error geometry is\nmodel-specific; correction operators do not transfer across architectures.</p>\n<h3 id=\"h3-training-distribution-failure-prediction\">H3 — Training-distribution failure prediction</h3><p>Properties underrepresented in MPtrj-style training data (E_vac, γ_SFE,\nsurfaces) show larger median |relative error| than bulk-adjacent properties\n(a₀, B₀, ΔH_f) for <strong>every</strong> model, by at least a factor of 2.</p>\n<p><strong>Kill:</strong> any model where defect-family and bulk-family errors are comparable\n(&lt; 1.5×) → the weak-spot story is model-dependent, not distributional.</p>\n<h3 id=\"h4-correction-transfer-staged\">H4 — Correction transfer (staged)</h3><p>The elastic-trained scalar-bulk operator (v0.2, the Round-2 win), applied to\nY-matrix cells, reduces cross-property error norm. <strong>Staged:</strong> the operator\nimplementation is not currently in this repo (recovery/reimplementation\npending); H4 binds when it lands, before its transfer analysis runs.</p>\n<p><strong>Kill:</strong> operator improves elastic but degrades ≥ half of non-elastic\nproperties → correction is family-local; the turbo ships with per-family\ngearing.</p>\n<h4 id=\"h4-binding-addendum-2026-07-02-registered-before-the-transfer-analysis-runs\">H4 binding addendum (2026-07-02, registered BEFORE the transfer analysis runs)</h4><p>Context: H1/H2 were killed and H3 passed (see\n<code>y-matrix-confirmatory-results-2026-07-01.md</code>), so the registered <em>expectation</em>\nis now that transfer FAILS; observing transfer would be the surprising outcome.</p>\n<ul>\n<li><strong>Operator (reimplemented to the documented v0.2 definition, adapted to the\nY-matrix):</strong> per model, a single stiffness-rescaling scalar\n<code>s = median(B0_ref / B0_pred)</code> fitted <strong>leave-one-material-out</strong> over the\nprimary matched set (15 metals; the held-out material never contributes to\nits own correction).</li>\n<li><strong>Application:</strong> corrected prediction = <code>s × prediction</code> for\nenergy/stiffness-like properties (B0, E_vac, gamma_100/110/111, gamma_SFE,\ndH_f); a0 is excluded from correction (a length, not an energy scale — the\nsoftening mechanism predicts no first-order a0 effect).</li>\n<li><strong>Metrics:</strong> per (model, family): median |relative error| before vs after,\nLOO throughout, 1,000-draw bootstrap CI on the delta; seed 20260702.</li>\n<li><strong>Improvement/degradation:</strong> a family improves/degrades if its median\n|rel. err.| moves by more than the bootstrap CI95 half-width; else unchanged.</li>\n<li><strong>H4 pass:</strong> ≥ half of non-EOS families improve and none degrade.\n<strong>H4 kill (registered expectation):</strong> EOS-family improves while ≥ half of\nnon-EOS families degrade or are unchanged.</li>\n<li>Fe stays in with its deficiency annotation; Cr stays out (matched-n);\n(Ni, mace-mp-small) quarantine does not apply to H4 (it was H3-specific).</li>\n</ul>\n<h2 id=\"round-2-registrations-2026-07-02-registered-before-the-mpa-0-sweep-runs\">Round 2 registrations (2026-07-02, registered BEFORE the MPA-0 sweep runs)</h2><h3 id=\"r2-h1-training-distribution-causality-the-softening-story-39-s-direct-test\">R2-H1 — Training-distribution causality (the softening story&#39;s direct test)</h3><p>Published claim (Deng et al., npj Comput. Mater. 2024/25, arXiv:2405.07105;\ncorroborated arXiv:2410.12771): softening is data-distribution-driven — models\ntrained with off-equilibrium data (OMat24 lineage) largely eliminate it.\nRegistered prediction: <strong>MACE-MPA-0 (medium-mpa-0), run through the identical\n63-cell matrix and H3 analysis, shows a defect/bulk median-error ratio less\nthan HALF of MACE-MP-medium&#39;s (i.e., &lt; 7.66 vs 15.32 on the primary matrix),</strong>\nand its per-model B₀ softening scalar s sits closer to 1 than any MPtrj model&#39;s.</p>\n<p><strong>Kill:</strong> MPA-0 ratio ≥ half of MACE-MP-medium&#39;s → distributional retraining\ndoes not collapse the defect/bulk split on elemental metals; the contested\nsymmetry-related residual story (arXiv:2507.15190) gains weight.\n<em>(Citation correction 2026-07-02, post-verdict: arXiv:2507.15190 is withdrawn\nand its abstract never made the attributed claim; the kill&#39;s interpretation\nclause should read simply &quot;a residual beyond distributional bias exists,&quot;\nsupported by our own R2 decomposition only.)</em>\nSame seed/nulls/exclusions as Round 1; Fe deficiency annotation carries over\npending its per-model shape diagnostic.</p>\n<h2 id=\"nulls-coupling-aware-mandatory\">Nulls (coupling-aware — mandatory)</h2><p>Naive permutation nulls lie when properties are internally coupled. The\nregistered null: <strong>within-family structure preserved, cross-family alignment\nbroken</strong> — for each property family independently, permute the material labels\nof that family&#39;s error sub-vectors (1,000 draws; matched-n; per-material\ncompleteness required — materials missing any confirmatory property are\nexcluded from the vector analysis rather than imputed). This preserves each\nfamily&#39;s internal covariance (including elastic self-coupling) and destroys\nonly the cross-family correlation that H1/H2 claim.</p>\n<h2 id=\"exploratory-quarantine\">Exploratory quarantine</h2><p>Observed during machinery development, before this registration, on\n(Ni, MACE-MP-small): E_vac ≈ 1.02 eV vs ~1.45 eV PBE; γ_SFE ≈ −8 mJ/m² vs\n~145 mJ/m² PBE; a₀/B₀/ΔH_f near reference. These observations motivated H3 and\nare <strong>excluded from H3&#39;s confirmatory test for that (material, model) cell</strong>;\nH3 is evaluated on the untested cells.</p>\n<h2 id=\"outputs-and-provenance\">Outputs and provenance</h2><p>Every cell emits <code>lupine.mlip.calc_evidence.v1</code> (canonical-inputs sha256,\nmodel id as-run, per-property values) to <code>data/y_matrix_runs/</code>; reference\nannotation and Lean emission (<code>emit_lean_module</code>, within/exceeds encoded\neither way) follow reference binding. Ledger landing is gated on the ingest\nrange fix (task #12) and does not gate the analysis.</p>\n<h2 id=\"deviations-log\">Deviations log</h2><div class=\"table-wrap\"><table><thead><tr>\n<th>Date</th>\n<th>Deviation</th>\n<th>Reason</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Date\">2026-07-01</td>\n<td data-label=\"Deviation\"><strong>Fe excluded from confirmatory vectors</strong> pending magnetic-state verification.</td>\n<td data-label=\"Reason\">Sweep Fe/bcc B₀ came back 71–89 GPa across all three models (vs ~170 GPa experimental) — consistent with the calculators relaxing to the nonmagnetic branch because <code>statics.structures</code> sets no initial magnetic moments. This is a state-preparation issue, not model error; attributing it to the models would be a false negative-transfer claim. Fe rejoins after initial-magmom support is added and cells re-run. Logged before reference binding.</td>\n</tr>\n<tr>\n<td data-label=\"Date\">2026-07-01</td>\n<td data-label=\"Deviation\"><strong>H1 criterion wording defect, logged at analysis time</strong>: the registered sentence &quot;lower than the 95th percentile of the coupling-aware null&quot; is vacuous as written; the analysis implements the intended strict one-sided test <code>PR &lt; null p05</code> and reports both readings. See <code>y-matrix-confirmatory-results-2026-07-01.md</code> §Deviations.</td>\n<td data-label=\"Reason\">Wording error in v1.0; the strict reading is adverse to the hypothesis (H1 passes 2/6 under it vs ~6/6 under the vacuous literal reading), so the clarification cannot inflate the result.</td>\n</tr>\n<tr>\n<td data-label=\"Date\">2026-07-01</td>\n<td data-label=\"Deviation\"><strong>AMENDMENT (same day, still before reference binding): Fe re-admitted to confirmatory vectors with a documented-model-deficiency annotation; the previous row&#39;s reason is empirically falsified.</strong></td>\n<td data-label=\"Reason\">CPU investigation (scratchpad <code>fe_investigation/memo.md</code>): initial magnetic moments change the energy of neither calculator (ΔE = 0.0 eV exactly; MACE is spin-blind, CHGNet magmoms are outputs — it predicts FM Fe at 2.44 μB and is soft anyway). B₀ ≈ 70–90 GPa is fit-window-independent (±3% → ±15%: &lt;1 GPa change for MACE-small) with a curvature anomaly (B₀′ = −12.9/−7.4 in the stored fits) matching the published PES-softening pathology of MPtrj-trained uMLIPs on magnetic Fe (Deng et al. arXiv:2405.07105; Springer J. Phase Equilib. Diffus. 2025; arXiv:2605.28395). The &quot;magmom support + re-run&quot; remedy is struck (provable no-op). Fe is therefore genuine negative-transfer evidence, exactly what the Y-matrix measures. Protocol additions: BM3 fits auto-flagged when B₀′ ∉ [1, 8]; magnetic elements (Fe, Cr, Mn, Co, Ni) get a one-shot wide-scan shape diagnostic before binding. Cr is NOT pre-excluded (its sweep-2 cell shows the opposite symptom: stiff, B₀′ normal).</td>\n</tr>\n</tbody></table></div>"}