Repository navigation
Description
Overview
The graphical-ep epic's software half is done (phases 1–2 SHIPPED, review bundle + D6 2026-09-07, PyAutoFit#1580 2026-09-08). Its science half — campaign phases 3 and 4 — has sat in PyAutoCortex as planned tasks under dormant project rows since 2026-09-01, invisible to every /cortex check-in. This task stands up the epic's first Cortex science project: phase 3 (graphical non-EP JAX scaling, "NUTS headline, EP cautionary") as a fresh project slope_hierarchy_scale, with the old slope_hierarchy tree vaulted under Science/z_projects_complete/ and mined for code (human ruling 2026-09-08).
Plan
- Move the clean, in-sync
Science/slope_hierarchytree toScience/z_projects_complete/slope_hierarchy(whole git repo, remote untouched). - Birth
Science/slope_hierarchy_scalevia autolens_assistant's start-new-project scaffold, borrowing the old tree's scripts, simulator, config, activate.sh, environment andhpc/sync tooling; no output/dataset/results copied; one birth commit; remote staysnone(org repo creation is human-only). - PyAutoCortex: add the
slope_hierarchy_scalerow (active,assistant: autolens_assistant, verified sync verbs); retire theslope_hierarchyrow (its tasks are allplanned) and point itslocal_pathat the vault. - Re-home
n25_scale_up.mdunder the new project, fillGates:with the phase-2 evidence, move itplanned → gated;readyand submission stay human acts. - Re-render the Cortex board; ship as a PR to PyAutoLabs/PyAutoCortex (projects.yaml is code → human merge).
- Update the Mind ledger (
ep_campaign.mdphases 3–4;epics.mdstalePyAutoCortex epics.md#…pointers).
Detailed implementation plan
Affected Repositories
- PyAutoCortex (primary)
- PyAutoMind (ledger)
/mnt/c/Users/Jammy/Science/(science tree — the Cortexlocal_pathexception)
Branch Survey
| Repository | Current Branch | Dirty? |
|---|---|---|
| ./PyAutoCortex | main (= origin/main 903b3fb) | clean |
| ./PyAutoMind | main | prompt only |
Suggested branch: feature/slope-hierarchy-scale-birth
Implementation Steps
- Preflight
git -C Science/slope_hierarchy status --porcelainempty andmain=origin/main;mv Science/slope_hierarchy Science/z_projects_complete/slope_hierarchy. - Scaffold
Science/slope_hierarchy_scaleperautolens_assistant/skills/start-new-project.mdPhase 1:README.md,AGENTS.md,CLAUDE.md,.claude/settings.json,.gemini/settings.json,project.yaml(assistant_refat the current assistant commit,visibility_stage: private),CITATION.cff,wiki/project/{state,profile,README}.md,results/{figures,tables}/.gitkeep,paper/,.gitignore. Copy from the vault:scripts/{ep,graphical,one_by_one,util}.py,simulators/sample.py,config/,activate.sh,environment.yml,hpc/{sync,sync.conf.example,sync_jump.conf.example,template.py,batch_cpu/,batch_gpu/}. Writehpc/sync.conf(PROJECT_NAME=slope_hierarchy_scale,HPC_HOST=euclid_jump,HPC_BASE=/mnt/ral/jnightin).wiki/project/state.mdcitesz_projects_complete/slope_hierarchy/results/ep_history_n5_maxsteps12/as the N=5 baseline. Import sanity only;git init+ birth commit. - PyAutoCortex
projects.yaml: new rowslope_hierarchy_scale(remote: none,local_path,ral_root: /mnt/ral/jnightin/slope_hierarchy_scale,mirror: none,sync_cli: hpc/sync,sync_verbs: [push, pull, sync, status, submit, push-submit, jobs, tail, check],ledger: wiki/project/state.md,assistant: autolens_assistant,witness_file: results/**/*.json,partition: both,status: active, datednote:).python3 scripts/cortex.py retire slope_hierarchy --why "…", then hand-edit itslocal_pathto the vault path. git mv tasks/slope_hierarchy/n25_scale_up.md tasks/slope_hierarchy_scale/n25_scale_up.md;Project: slope_hierarchy_scale;Gates: PyAutoFit#1405, PyAutoFit#1558, PyAutoFit#1560, PyAutoFit#1562; replace the "Ready when…" line with the gate evidence (PyAutoMind/complete/2026/09/ep-scale-collapse-basin-cure-or-caveat.md, bundle #1572/#1573/#1574/#1576, #1580) and a "Borrowed from" note;python3 scripts/cortex.py move slope_hierarchy_scale/n25_scale_up gated.methods_writeup.mdstays planned under the retired row.python3 scripts/cortex.py check;pytest tests/from the canonical Brain;pyauto-brain cortex dashboard --applythen--checkexit 0.- Ship: commit, push, PR to PyAutoLabs/PyAutoCortex; end at PR-open.
- Mind:
draft/research/graphical_ep/ep_campaign.mdphase-3/4 rows + header date;epics.mdlines 35/40/57 pointers → "PyAutoCortex tasks carryingEpic: <slug>";prompt_sync_push.
Key Files
PyAutoCortex/projects.yaml— science body map (code; PR route)PyAutoCortex/tasks/slope_hierarchy/n25_scale_up.md— the phase-3 task, re-homedPyAutoCortex/scripts/cortex.py—retire,move,check(GATE_REF_RE:121, dir-name rule :637)autolens_assistant/skills/start-new-project.md— the birth scaffoldPyAutoMind/draft/research/graphical_ep/ep_campaign.md,PyAutoMind/epics.md— ledger
Original Prompt
Click to expand starting prompt
Birth slope_hierarchy_scale — the EP campaign's first Cortex science project (phase 3)
Type: research
Target: graphical_ep
Repos:
- PyAutoCortex
- PyAutoMind
Themes: - graphical-ep
Difficulty: small
Autonomy: supervised
Priority: high
Status: formalised
Consequence: judge
Review-minutes: 10
Unattended: fits
Epic: graphical-ep
Filed: 2026-09-08
Original request (verbatim)
Can we set up the first project as part of the EP epic which should be managed via a cortex
science project, and what is it? Continue the 'Expectation propagation (EP) campaign' epic. Its
canonical state lives in draft/research/graphical_ep/ep_campaign.md — read that ledger (and any
DECISIONS/RESULTS files beside it) first. Cross-check this epic's entry in PyAutoMind/epics.md, any
related rows in PyAutoMind/active.md, and the referenced repos' open issues and PRs, to work out the
last completed phase and what is currently in flight. Then pick the next logical step and continue
it through the normal workflow (/start_dev — filing the phase's prompt first if none exists),
updating the ledger as the work advances. Note: umbrella phase map — each phase's real content
lives in its own prompt under draft/research/graphical_ep/; the campaign file itself is never
issued. Science half: PyAutoCortex epics.md#graphical-ep (campaign phases 3 and 4).
Answer to the question
The first Cortex science project of the graphical-ep epic is slope_hierarchy, whose phase-1
task tasks/slope_hierarchy/n25_scale_up.md is campaign phase 3 (graphical non-EP JAX scaling,
"NUTS headline, EP cautionary"). It is chosen over phase 4 (ic50_workspace/ep_scale_up.md)
because the checkout is clean and in sync with its remote, the N=3/N=5 results the scale-up extends
are committed under results/ (so the row's witness_file glob resolves), the project issue
Jammy2211/slope_hierarchy#1 the witness comment needs already exists, the RAL root
/mnt/ral/jnightin/slope_hierarchy exists with output/ and results/ (verified 2026-09-08 over
euclid_jump), and it depends on neither the moment-matching cure nor the unissued
draft/feature/autofit/ep_lbfgs_jax.md companion. The ic50 checkout is dirty (170 files of
line-ending churn), has no results/ at its declared witness path, and sits outside the workspace.
Why the phase has not started
Survey 2026-09-08: phases 1 and 2 are SHIPPED (last movement 2026-09-08, PyAutoFit#1580); nothing
EP-shaped is in active.md, and no open PRs on PyAutoFit, autofit_workspace_test or PyAutoCortex.
Phases 3 and 4 migrated to the Cortex on 2026-09-01 and have sat at State: planned with an empty
Gates: ever since, although their "Ready when phase 2 is issued" condition has held since
2026-09-02. The ledger says "move to gated at the next /cortex check-in", but a check-in only
sweeps status: active rows (and projects owning a submitted|running task) — both EP rows are
status: dormant, so the instruction is unexecutable as written. projects.yaml is code (Cortex#22
ruling), so the activation is a PR to PyAutoLabs/PyAutoCortex with a human merge.
Ruling (human, 2026-09-08)
The phase runs as a fresh project slope_hierarchy_scale in /mnt/c/Users/Jammy/Science/,
not in the old slope_hierarchy tree: the old tree (17 commits, Jammy2211/slope_hierarchy,
wrapped up 2026-07-22 after answering its four N=5 goals) moves to Science/z_projects_complete/
and is mined for code. Assistant of record is autolens_assistant (the old project.yaml's
assistant_ref; the science is lens modelling).
Scope
- Science tree (the Cortex
local_pathexception to the workspace-paths rule) — with the old
checkout clean and in sync,mv Science/slope_hierarchy Science/z_projects_complete/slope_hierarchy
(whole git repo, remote untouched). BirthScience/slope_hierarchy_scaleper
autolens_assistant/skills/start-new-project.mdPhase 1 (thin, refer-back scaffold:
README.md,AGENTS.md,CLAUDE.md,.claude/settings.jsonAPI gate,project.yamlwith
assistant_refat the current assistant commit,CITATION.cff,wiki/project/,results/,
paper/,.gitignore). Borrow from the vault:scripts/{ep,graphical,one_by_one,util}.py,
simulators/sample.py,config/,activate.sh,environment.yml,hpc/(sync CLI, conf
examples, batch dirs, template). Writehpc/sync.conf(PROJECT_NAME=slope_hierarchy_scale,
HPC_HOST=euclid_jump,HPC_BASE=/mnt/ral/jnightin). Do not copyoutput/,dataset/
(re-simulate at N=25), oldresults/or the old journal —wiki/project/state.mdcites the
vault'sresults/ep_history_n5_maxsteps12/as the N=5 baseline.git init+ one birth commit.
Remote staysnone(org repo creation is human-only; hand the human thegh repo createline). - PyAutoCortex
projects.yaml— new rowslope_hierarchy_scale(remote: none,
local_path/ral_rootas above,sync_cli: hpc/sync, verifiedsync_verbs,ledger: wiki/project/state.md,assistant: autolens_assistant,witness_file: results/**/*.json,
partition: both,status: active, datednote:). Old row:cortex.py retire slope_hierarchy --why …(both its tasks areplanned) pluslocal_pathhand-edited to the vault path. - Task —
git mv tasks/slope_hierarchy/n25_scale_up.md tasks/slope_hierarchy_scale/,
Project: slope_hierarchy_scale,Gates: PyAutoFit#1405, PyAutoFit#1558, PyAutoFit#1560, PyAutoFit#1562, "Ready when" line replaced by the gate evidence
(PyAutoMind/complete/2026/09/ep-scale-collapse-basin-cure-or-caveat.md, bundle
#1572/#1573/#1574/#1576, #1580) and a "Borrowed from" note;cortex.py move … gated.
readyis the human's edge.methods_writeup.mdstays planned under the retired row. - Cortex hygiene in the same PR —
cortex.py check, tests,pyauto-brain cortex dashboard --applyfrom the canonical Brain; PR to PyAutoLabs/PyAutoCortex (projects.yaml is code →
human merge). - PyAutoMind ledger —
ep_campaign.mdphase-3 row (gated, birth, PR ref, human submits via
/cortex), phase-4 row (companion pathdraft/feature/autofit/ep_lbfgs_jax.md; ic50 stays
dormant until its checkout is cleaned and aresults/witness path exists);epics.md: replace
the three stale "PyAutoCortex epics.md#" pointers (Cortex#14 replacedepics.mdwith
checkin.yaml) with the task-file pointer.
Out of scope: submitting the N=25 run (human /cortex ask, ruled 2026-09-05), activating
ic50_workspace, the moment-matching cure decision, creating the GitHub remote.
Acceptance
Science/slope_hierarchy_scaleexists with one birth commit; the old tree sits underz_projects_complete/intact.slope_hierarchy_scalerenders on the Cortex board as an active project withn25_scale_upgated;slope_hierarchyreads retired.cortex.py checkOK; Cortex CI (Cortex Check,Dashboard Refresh) green on the PR.- The next
/cortexcheck-in listsn25_scale_upundergateswith resolvable refs. ep_campaign.mdandepics.mdno longer point at a non-existentPyAutoCortex/epics.md.
Activity
Jammy2211 commentedon Sep 8, 2026
Shipped
Merged in #25 (head
bff7124, merge866d8f0).Science trees
Science/slope_hierarchy(17 commits,Jammy2211/slope_hierarchyremote intact) moved toScience/z_projects_complete/slope_hierarchy.Science/slope_hierarchy_scaleborn fresh:acce42a(135 files), then9ebdf0e(visibility_stage: github_private); pushed to the new private org remote https://github.com/PyAutoLabs/slope_hierarchy_scale (human-created, as the no-org-repo-creation rule requires).PyAutoCortex
slope_hierarchy_scale—assistant: autolens_assistant,remote: PyAutoLabs/slope_hierarchy_scale, sync verbs verified.slope_hierarchyretired,local_pathrepointed at the vault.tasks/slope_hierarchy_scale/n25_scale_up.mdre-homed under the new row and movedplanned→gatedon PyAutoFit#1405 / #1558 / #1560 / #1562.Checks — 126 tests pass,
cortex.py checkOK; CI green onbff7124(Cortex Check+Dashboard Refresh, bothsuccess),mergeStateStatus: CLEAN.Residue
tasks/slope_hierarchy/methods_writeup.mdstillplannedunder the retired row.sample.pyinfo.jsonkeepsdomain: slope_hierarchyfor baseline comparability with the retired tree.config/general.yamlworkspace_versionbumped to2026.8.17.1.Mind ledger rows (
draft/research/graphical_ep/ep_campaign.mdphase 3/4,epics.mdpointers) already landed in2b348f41.