Repository navigation
cortex: ep_toy_gaussian birth — NUTS vs EP ×3 on the #1405 collapse toy at N=50 - #29
Merged
Merged
Conversation
…toy at N=50 Registers the science project `ep_toy_gaussian` in the body map and files its first task, `nuts_vs_ep_x3_n50` (State: ready, awaiting submission). - projects.yaml: new active row cloned from analytic_gaussian (remote none, CPU-only, partition ral, assistant autofit_assistant). - tasks/ep_toy_gaussian/nuts_vs_ep_x3_n50.md: the graphical-ep campaign's last confidence test before scaling up — the original PyAutoFit#1405 collapse toy at N=50, joint BlackJAX NUTS reference vs three EP repeats on identical data, with a 7-criterion pre-registered witness. - dashboards regenerated. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018uj47GfPHkyG7rz2J2Yna3
Submitted on RAL partition `ral` 2026-09-10 against the shared PyAuto mirror at PyAutoFit `e354dbb6b5b1fcc375bbbc5ae5c926e229fcb04a`, which contains `08207bad0` (#1580), so the run carries the full D1-D6 wave plus the review bundle. - 342639 — `hpc/batch_cpu/submit_nuts`: `one_by_one.py` (50 one-parameter Dynesty fits, the NUTS warm start and the naive reference) then `graphical_nuts.py` (BlackJAX NUTS on all 52 parameters, JAX CPU fp64), 4 h limit. - 342640_[0-2] — `hpc/batch_cpu/submit_ep`: three EP repeats of the original inference on identical data (Dynesty per factor, LaplaceOptimiser, kl_tol=0.05, max_steps=20), differing only in RNG, 24 h limit. All four tasks confirmed running on euclid-ral-compute-10-2; the NUTS job's one_by_one leg finished 50/50 in 318.9 s. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018uj47GfPHkyG7rz2J2Yna3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Registers a new science project in the body map and files its first task.
What the project is
ep_toy_gaussianis thegraphical-epcampaign's last confidence test before scaling up:the original toy on which the hierarchical-parameter collapse (PyAutoFit#1405) was first
found, run at N=50, with a joint JAX + BlackJAX NUTS reference, and fitted with EP
three times on identical data. The model and every EP setting are verbatim from
PyAutoMind/complete/2026/07/ep_scale_collapse_assets/ep_toy_diagnostic.py(
DynestyStatic(nlive=100, rwalk)per factor,LaplaceOptimiser,EPHistory(kl_tol=0.05),max_steps=20); the three repeats differ only in RNG.Nothing has ever run this toy with a NUTS joint fit, at N=50, or with repeated EP fits on
identical data — the task file records the four distinct earlier runs the "it collapsed"
memory is a composite of, with their paths and numbers, so nobody re-derives them.
A pass on criteria 2-5 is the evidence that the D1-D6 / analytic-Gaussian fix wave
(#1465, #1558, #1560, #1562, #1572-#1576, #1578, #1580) cured #1405 on its own toy. A failure
isolates it to the Dynesty-per-factor EP path, since the analytic ensemble used Laplace factors.
CPU-only, data simulated in memory from its seed,
remote: noneuntil the human runsgh repo create PyAutoLabs/ep_toy_gaussian --private.The pre-registered witness
Reference = the NUTS posterior on
n50_seed42; truth = the parent(50, 10)and the realisedsample statistics of the 50 drawn centres. Mirrored machine-readably as
WITNESSin theproject's
scripts/compare.py.RuntimeWarningDeliverable:
results/n50_seed42/summary.json+comparison.md, committed in the project.A missed criterion is a finding to rule on, never a number to relax.
Contents
projects.yaml— new active rowep_toy_gaussian, cloned fromanalytic_gaussian.tasks/ep_toy_gaussian/nuts_vs_ep_x3_n50.md—State: ready,Epic: graphical-ep,Budget: 24:00. Submission is a separate step; no run lines yet.dashboard.md/dashboard.htmlregenerated (cortex dashboard --checkcurrent).python3 scripts/cortex.py checkprintscortex check: OK.Why a human merges this
projects.yamlis code, not ledger —local_pathandsync_cliare paths a conductor willexecute under.
python3 scripts/ledger_merge.py classify --base origin/mainsayscode: 1 of 4 path(s) need a human — projects.yaml, soledger_merge.ymlwill correctly leavethis branch for review rather than auto-merging it.
🤖 Generated with Claude Code
https://claude.ai/code/session_018uj47GfPHkyG7rz2J2Yna3