Repository navigation
cortex: birth analytic_gaussian — the EP campaign's keystone at ensemble scale - #27
Merged
Merged
Conversation
…ble scale The `graphical-ep` campaign's end goal 1 asks for a model that *statistically* demonstrates the graphical and EP source code is correct — means AND errors against a closed form. Phase 1 built that model (autofit_workspace_test#91, PR #92) and ran it at ONE seed as a CI gate; it found six PyAutoFit defects (D1–D6, all shipped) but cannot answer a question about a distribution: its 41-cell count moved 37/41 -> 38/41 between two runs of identical code. Phases 3 and 4 became science projects that run on RAL and are scored against pre-registered witnesses (`slope_hierarchy_scale`, `ic50_workspace`). The keystone that referees both was the arm still living as a parked CI script. This row gives it the same standing. - `projects.yaml`: `analytic_gaussian`, active, partition `ral`, assistant `autofit_assistant`, `remote: none` until a human runs `gh repo create PyAutoLabs/analytic_gaussian --private`. CPU-only and with no `dataset/`: every draw is simulated in memory from its seed, so a seed IS the dataset and nothing can drift between laptop and cluster. - `tasks/analytic_gaussian/ensemble_parity.md`: State `submitted`, runs 342413_[0-199] — a 200-seed ensemble at N=5 on the `ral` partition. The `Witness:` was pre-registered BEFORE submission and is mirrored machine-readably as `WITNESS` in the project's `aggregate_ensemble.py`; criterion 4 (leg B EP) is expected to miss, which is the point — the documented Laplace-on-scatter caveat becomes a measured rate with a Wilson interval, and the moment-matching cure gets a number to beat. The RAL PyAuto mirror was verified at PyAutoFit `66f9f8d5d` before submitting, which contains `08207bad0` (#1580) — phase 3's EP arm ran on a mirror that predated the fix it was meant to exercise, and that is not repeated here. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GkvYQqRKrZU4K9siYCSd8M
…-gaussian # Conflicts: # dashboard.html # dashboard.md
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.
Why
The
graphical-epcampaign's end goal 1 asks for a model that statistically demonstrates the graphical and EP source code is correct — means and errors against a closed form. Phase 1 built that model (autofit_workspace_test#91 / PR #92) and ran it at one seed as a CI gate. That form earned its keep: it found six PyAutoFit defects (D1–D6, all shipped: #1558, #1560, #1562, #1572, #1573, #1574, #1576, #1578, #1580). But one seed cannot answer a question about a distribution — its 41-cell count moved 37/41 → 38/41 between two runs of identical code, because a verdict on a tolerance edge is a coin flip.Phases 3 and 4 became science projects that run on RAL and are scored against pre-registered witnesses (
slope_hierarchy_scale,ic50_workspace). The keystone that referees both was the one arm still living as a parked CI script. This gives it the same standing.What
projects.yaml— new active rowanalytic_gaussian: partitionral, assistantautofit_assistant,remote: noneuntil a human runsgh repo create PyAutoLabs/analytic_gaussian --private. CPU-only, and with nodataset/: every draw issimulate(seed, n_datasets)in memory, so a seed is the dataset and nothing can drift between laptop and cluster.tasks/analytic_gaussian/ensemble_parity.md— Statesubmitted,Runs: 342413. A 200-seed ensemble at N=5, live on theralpartition (50 concurrent).The witness was pre-registered before the wave went out
Six criteria, mirrored machine-readably as
WITNESSin the project'saggregate_ensemble.py, covering the a/b error distributions per column, the empirical coverage of the closed form's [q05, q95] on the scatter (with a Wilson interval, so "3/3 covered" cannot be read as certainty), the scale-collapse rate, and EP flag health.Criterion 4 (autofit EP, leg B) is expected to miss — that is the point. The documented Laplace-on-scatter caveat (PyAutoFit#1405,
autofit/graphical/README.md§3.5) becomes a measured rate, and the moment-matching cure gets a number to beat.Evidence already in hand
First local run on the post-D1–D6 library (seed 0, N=5, autofit 2026.8.17.1):
mu50.8595 ± 4.1104 against a reference of 50.8595 ± 4.1104 (a = b = 0.000), and the same on everyx_i. This is the leg that parkedanalytic_gaussian.pyNEEDS_FIX, wheremuused to sit at its starting prior 50.00 ± 20.6.The RAL PyAuto mirror was verified at PyAutoFit
66f9f8d5d(contains08207bad0, #1580) before submitting — phase 3's EP arm ran on a mirror that predated the fix it was meant to exercise, and that is not repeated here.Human call
projects.yamlis code, so this needs a human merge. The science tree is born locally at/mnt/c/Users/Jammy/Science/analytic_gaussian(commitea3853f) and is unpushed untilgh repo create PyAutoLabs/analytic_gaussian --private.🤖 Generated with Claude Code
https://claude.ai/code/session_01GkvYQqRKrZU4K9siYCSd8M