{"id":"mlip-mptrj-broad-dft-canary","title":"MPtrj Broad-DFT MLIP Canary","subtitle":"Support-floor v2 improves MACE, ORB, and SevenNet while CHGNet safely holds: six wins, two holds, zero regressions.","category":"validation","tags":["mlip","distill","mptrj","dft","cloud-run","live-lab"],"source":"articles/docs/mlip-mptrj-broad-dft-canary.md","lang":"en","words":453,"readMinutes":2,"toc":[{"depth":2,"text":"Why This Matters","id":"why-this-matters"},{"depth":2,"text":"Cloud Result: Support-Floor v2","id":"cloud-result-support-floor-v2"},{"depth":2,"text":"Local v3 Replay","id":"local-v3-replay"},{"depth":2,"text":"Interpretation","id":"interpretation"},{"depth":2,"text":"Evidence Contract","id":"evidence-contract"},{"depth":2,"text":"Next Gate","id":"next-gate"}],"html":"<h1 id=\"mptrj-broad-dft-mlip-promotion-canary\">MPtrj Broad-DFT MLIP Promotion Canary</h1><ul>\n<li><strong>Status:</strong> Cloud Run support-floor v2 canary completed and eligible; row-hybrid v3 replay is the next cloud candidate</li>\n<li><strong>Generated:</strong> 2026-05-27</li>\n<li><strong>Campaign:</strong> <code>mptrj-dft-broad-paired-accuracy-v1</code></li>\n<li><strong>Cloud artifact:</strong> <code>library-site/src/reports/assets/mlip/mptrj-broad-dft-promotion-canary-summary.json</code></li>\n<li><strong>v3 replay artifact:</strong> <code>library-site/src/reports/assets/mlip/mptrj-broad-dft-row-hybrid-v3-replay-summary.json</code></li>\n</ul>\n<h2 id=\"why-this-matters\">Why This Matters</h2><p>Nickel is a controlled first lane, not the limit of the Distill claim. This\ncanary asks whether the same paired evidence contract can show improvement on a\nnon-Ni, broad DFT trajectory fixture from MPtrj across several MLIP backends.</p>\n<p>The first global ribbon improved MACE, ORB, and SevenNet but regressed CHGNet.\nThe support-floor v2 policy fixed that failure without a CHGNet exception:\nCHGNet now refuses correction because its support residual is already below the\nphysical floor. That gives us a clean cloud result: six improved pairs, two\nsafe holds, zero regressions.</p>\n<h2 id=\"cloud-result-support-floor-v2\">Cloud Result: Support-Floor v2</h2><div class=\"table-wrap\"><table><thead><tr>\n<th>Row</th>\n<th>MLIP</th>\n<th align=\"right\">Baseline error</th>\n<th align=\"right\">Distill error</th>\n<th align=\"right\">Lift</th>\n<th>Verdict</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Row\">Energy-volume</td>\n<td data-label=\"MLIP\">MACE-MP-0</td>\n<td align=\"right\" data-label=\"Baseline error\">0.4116 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Distill error\">0.2038 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Lift\">50.49%</td>\n<td data-label=\"Verdict\">Improved</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Energy-volume</td>\n<td data-label=\"MLIP\">CHGNet</td>\n<td align=\"right\" data-label=\"Baseline error\">0.1035 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Distill error\">0.1035 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Lift\">0.00%</td>\n<td data-label=\"Verdict\">Safe hold</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Energy-volume</td>\n<td data-label=\"MLIP\">ORB-v3</td>\n<td align=\"right\" data-label=\"Baseline error\">0.4295 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Distill error\">0.4233 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Lift\">1.44%</td>\n<td data-label=\"Verdict\">Improved</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Energy-volume</td>\n<td data-label=\"MLIP\">SevenNet</td>\n<td align=\"right\" data-label=\"Baseline error\">0.3997 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Distill error\">0.2795 eV/atom MAE</td>\n<td align=\"right\" data-label=\"Lift\">30.06%</td>\n<td data-label=\"Verdict\">Improved</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">MACE-MP-0</td>\n<td align=\"right\" data-label=\"Baseline error\">0.5604 penalty</td>\n<td align=\"right\" data-label=\"Distill error\">0.3866 penalty</td>\n<td align=\"right\" data-label=\"Lift\">31.02%</td>\n<td data-label=\"Verdict\">Improved</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">CHGNet</td>\n<td align=\"right\" data-label=\"Baseline error\">0.0557 penalty</td>\n<td align=\"right\" data-label=\"Distill error\">0.0557 penalty</td>\n<td align=\"right\" data-label=\"Lift\">0.00%</td>\n<td data-label=\"Verdict\">Safe hold</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">ORB-v3</td>\n<td align=\"right\" data-label=\"Baseline error\">0.5327 penalty</td>\n<td align=\"right\" data-label=\"Distill error\">0.3365 penalty</td>\n<td align=\"right\" data-label=\"Lift\">36.83%</td>\n<td data-label=\"Verdict\">Improved</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">SevenNet</td>\n<td align=\"right\" data-label=\"Baseline error\">0.5750 penalty</td>\n<td align=\"right\" data-label=\"Distill error\">0.3972 penalty</td>\n<td align=\"right\" data-label=\"Lift\">30.92%</td>\n<td data-label=\"Verdict\">Improved</td>\n</tr>\n</tbody></table></div><p>Summary: 16 / 16 cells completed, 8 paired comparisons measured, 6 improved,\n2 unchanged, 0 regressed. The gate verdict is\n<code>promotable_accuracy_candidate</code>.</p>\n<h2 id=\"local-v3-replay\">Local v3 Replay</h2><p>The next local iteration keeps the v2 energy behavior, then adds a\n<code>relaxation_stability</code> row override. It is intentionally not the default cloud\npolicy yet.</p>\n<p>Replay result: 8 / 8 pairs measured, 6 improved, 2 unchanged, 0 regressed.\nMean pair lift improves from about 22.6% in v2 replay to 25.6% in v3 replay.</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Row</th>\n<th>MLIP</th>\n<th align=\"right\">v2 Distill</th>\n<th align=\"right\">v3 replay</th>\n<th align=\"right\">v3 lift</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">MACE-MP-0</td>\n<td align=\"right\" data-label=\"v2 Distill\">0.3866</td>\n<td align=\"right\" data-label=\"v3 replay\">0.3286</td>\n<td align=\"right\" data-label=\"v3 lift\">41.36%</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">ORB-v3</td>\n<td align=\"right\" data-label=\"v2 Distill\">0.3365</td>\n<td align=\"right\" data-label=\"v3 replay\">0.3200</td>\n<td align=\"right\" data-label=\"v3 lift\">39.94%</td>\n</tr>\n<tr>\n<td data-label=\"Row\">Relaxation stability</td>\n<td data-label=\"MLIP\">SevenNet</td>\n<td align=\"right\" data-label=\"v2 Distill\">0.3972</td>\n<td align=\"right\" data-label=\"v3 replay\">0.3380</td>\n<td align=\"right\" data-label=\"v3 lift\">41.23%</td>\n</tr>\n</tbody></table></div><h2 id=\"interpretation\">Interpretation</h2><p>This is the growth loop working correctly. The v1 failure became a v2 refusal\nguard. Then local replay found that energy and relaxation want different policy\nsettings. That row-aware split is exactly the kind of product behavior\nresearchers need: Distill changes the outcome only where the evidence says the\nruntime is inside the support tube, and it refuses an already-strong baseline\ninstead of forcing a correction.</p>\n<h2 id=\"evidence-contract\">Evidence Contract</h2><ul>\n<li>Fixture: <code>canonical-structures-v2</code></li>\n<li>Fixture hash:\n<code>sha256:5f9cde3b94a44f030eb449b548440e6cbb6aac1d53db1d7698682e8a3a321b4c</code></li>\n<li>Support fixture: <code>canonical-distill-support-mptrj-train-plus-elastic-v1</code></li>\n<li>Support hash:\n<code>sha256:755d69e522227d5d9cd3566fde697b7c30d395b6b5ff30212b5758bf6708148c</code></li>\n<li>Cloud policy: <code>hyperribbon-mptrj-support-floor-v2-accuracy</code></li>\n<li>Candidate replay policy: <code>hyperribbon-mptrj-row-hybrid-v3-accuracy</code></li>\n<li>Artifact prefix:\n<code>gs://shed-489901-atlas-outputs/mlip-evidence/mptrj-dft-broad-paired-accuracy-v1</code></li>\n</ul>\n<h2 id=\"next-gate\">Next Gate</h2><p>Run the four-MLIP MPtrj Cloud Run canary with\n<code>hyperribbon-mptrj-row-hybrid-v3-accuracy</code>. It must preserve the same rule:\nall paired cells complete, every baseline/Distill pair shares a raw prediction\ncheckpoint, no pair may regress, CHGNet must remain unchanged or improve, and\nacceleration remains out of scope until accuracy is locked.</p>\n"}