Repository navigation
Description
Overview
Phase 2 of the mind-post-cortex epic (ledger draft/maintenance/pyautomind/mind_post_cortex_epic.md, phase 1 = #389). The Cortex split moved science runs and rulings out of PyAutoMind on 2026-09-01, but a layer of scaffolding built to schedule and price science-epic review stayed behind with no consumer: the cortex-half: epic keys, the jax-inference-profiling Mind entry, the Lane: header, the epic-slice/theme-sweep queue kinds, the phantom experiment/ work-type, five run-shaped prompts, and the all-science 2026-08-31-am batch trio.
This deletes all of it. Mind keeps only what the software/PR loop actually uses; the run-shaped prompts become PyAutoCortex phases; Brain's work-type vocabulary drops experiment to match.
Three PRs: PyAutoMind (code-side — REFERENCE.md / ROUTING.md / AGENTS.md / scripts, so the ledger auto-merge will not take it), PyAutoBrain (experiment work-type removal + the AUTONOMY doctrine edit it mirrors), PyAutoCortex (the new phase files + the am batch record).
Plan
- Strip
cortex-half:from all fourepics.mdentries, folding the pointer intonotes:where the Mind half is still live; update the schema paragraph. - Retire the
jax-inference-profilingMind epic entry (the whole programme lives in the Cortex) and detach its one orphan member prompt. - Delete the Mind-side
Lane:documentation and the single draft header that used it —Lane:is the Cortex's key now, and it is already documented there. - Reduce
queue.md'skind:schema toprompt | retired, droplane:, and collapse the four retired entries into a footer. - Remove the
experiment/work-type from Mind (ROUTING.md,REFERENCE.md,AGENTS.md,scripts/status.sh,scripts/spawn.py,docs/pyautobrain/spawn_spec.md) and from Brain (AUTONOMY.mdcap table first, then_sizing.py,_intake.py,_feature.pyand the taxonomy docs). Historicalcomplete/2026/**records keep their folders; theresearchcap is untouched. - Transcribe four run-shaped Mind drafts into PyAutoCortex phase files (
State: planned) andgit rmthem from Mind. - Delete the Mind
2026-08-31-ambatch record / packet / review after porting the facts the Cortex transcription dropped. - Regenerate the Mind dashboard, run Mind + Brain + Cortex
pytest -qandlifecycle.py check, open the three PRs.
Detailed implementation plan
Work Classification
Library (organ source + docs; no workspace scripts, no notebooks).
Affected Repositories
- PyAutoMind (primary)
- PyAutoBrain
- PyAutoCortex
Branch Survey
| Repository | Current Branch | Dirty? |
|---|---|---|
| ./PyAutoMind | main | clean |
| ./PyAutoBrain | main | clean |
| ./PyAutoCortex | main | clean |
Suggested branch: feature/mind-post-cortex-p2-science-residue
Worktree root: ~/Code/PyAutoLabs-wt/mind-post-cortex-p2-science-residue/
Worktree claim note: worktree_check_conflict reports PyAutoMind claimed by mind-post-cortex-p1. That claim is a ledger-only branch (worktree: -) whose commits are already on main (49d0b530); the task is merely not closed out yet. Not a real conflict — phase 2 proceeds.
Implementation Steps
epics.md—cortex-half:keys. Delete the key fromjax-inference-profiling,cluster-strong-lensing,graphical-ep,euclid-dr1-prep. For the three whose Mind half is live, addscience half: PyAutoCortex epics.md#<slug>tonotes:. Update the schema paragraph (line 11) if it names the key. Nothing reads it:_intake.py_EPIC_FIELDS = ("title","ledger","status","notes").epics.md— retirejax-inference-profiling. Detachdraft/feature/workspaces/phase_5_dev_leg_prepare_the_mesh.md(dropEpic:/Phase:). Set the entry'sstatus:toCOMPLETE — moved to Cortex 2026-09-01and runlifecycle.py epics --retire; the ledger is external (autolens_profiling/…/PROGRAMME.md) so only the entry text is archived.Lane:. Delete the### Lane: — where the work can runsection fromREFERENCE.md, thelane:line fromqueue.md's schema and its paragraph, and theLane: local-devheader fromdraft/maintenance/autolens_profiling/legacy_point_output_sweep.md(that file moves to the Cortex under step 6 anyway). CortexREFERENCE.md:81already documentsLane:— no Cortex edit needed. Brain's_batch.pylane filter is left alone.queue.mdkinds. Schema becomeskind: prompt | retired; drop theepic-slice/theme-sweepbullets and the "Three kinds" framing; droplane:. Collapse entries 2, 3, 4, 6, 8, 9 (kind: retired) into a short "Retired" footer. Mirror theREFERENCE.md"queue and the batch records" paragraph.experiment/work-type. Mind:ROUTING.mdtable row,REFERENCE.mdtaxonomy table + tree + good-paths example,AGENTS.mdwork-type list,scripts/status.shWORK_TYPES,scripts/spawn.pyMIND_WORK_TYPES,docs/pyautobrain/spawn_spec.mdrule 6. Brain:AUTONOMY.mdcap table row first (doctrine edit), thenagents/faculties/sizing/_sizing.pyWORK_TYPES+WORK_TYPE_AUTONOMY_CAPS,agents/conductors/intake/_intake.pyTYPE_SIGNALS+TYPE_PRECEDENCE,agents/conductors/intake/INTAKE_TAXONOMY.md,agents/conductors/intake/AGENTS.md,agents/conductors/feature/_feature.py(two("research", "experiment")tuples),agents/conductors/feature/MIND_TAXONOMY.md,agents/conductors/feature/AGENTS.md. No Brain test fixture enumerates it (checked). Leave theresearchcap and the samplers faculty's unrelated "experiment tier" vocabulary alone.- Run-shaped prompts → Cortex phases.
slope_hierarchy_methods_writeup.md→phases/slope_hierarchy/methods_writeup.md(Phase 2);cluster_gradient_search_benchmark.md→phases/inference_programme/cluster_gradient_search_benchmark.md(Phase 17);multiband_compile_census_completion.md→phases/inference_programme/multiband_compile_census_completion.md(Phase 18);legacy_point_output_sweep.md→phases/inference_programme/legacy_point_output_sweep.md(Phase 19). Each keeps its prose as the phase body, gainsState: planned+Migrated-from:, and isgit rm'd from Mind.ep_campaign.mdstays in Mind — see "Deviation" below. 2026-08-31-amtrio.batches/packets/2026-08-31-am.htmlis byte-identical to the Cortex copy;batches/reviews/2026-08-31-am.mdis a strict subset of it. The record itself carries three facts the Cortex transcription dropped (the dev membereuclid-phase2-pr46, the pre-frameworkusage-window/heart-ack/expected-effectsn/alines, and the Mind commit refs for the packet fix) — port those into the Cortex record'snotes:, correct its "the Mind original stays intact" sentence, thengit rmall three Mind files.
Deviation from the prompt (item 6, one of five)
draft/research/graphical_ep/ep_campaign.md is not moved. It is not run-shaped: it is the graphical-ep campaign phase map, and of its six phases 1, 2, 5 and 6 are Mind development work — five Mind drafts still declare Epic: graphical-ep (graphical_scoping.md, ep_scoping.md, ep_lbfgs_jax.md, samples_errors_at_sigma_instance_prior_valued_model.md, ep_hierarchical_scatter_moment_matching.md). The Cortex has no home for an umbrella ledger either: phases/ requires Project: to equal a projects.yaml key plus a run State:, and there is no graphical_ep project row. So the Mind graphical-ep entry keeps its ledger:, and instead the Cortex epics.md entry's stale ledger: PyAutoMind/research/graphical_ep/ep_campaign.md (missing draft/) is corrected.
Key Files
PyAutoMind/epics.md,queue.md,REFERENCE.md,ROUTING.md,AGENTS.md,scripts/status.sh,scripts/spawn.py,docs/pyautobrain/spawn_spec.mdPyAutoBrain/AUTONOMY.md,agents/faculties/sizing/_sizing.py,agents/conductors/intake/_intake.py,agents/conductors/feature/_feature.py+ the three taxonomy docsPyAutoCortex/phases/{slope_hierarchy,inference_programme}/,epics.md,batches/2026-08-31-am.md
Testing
Mind pytest -q + python3 scripts/lifecycle.py check; Brain pytest -q (sizing/intake/batch at minimum); Cortex pytest -q + python3 scripts/cortex.py check; pyauto-brain batch plan --dry-run still runs; TZ=UTC PyAutoBrain/bin/pyauto-brain intake --apply dashboard regenerates the Mind dashboard.
Original Prompt
Click to expand starting prompt
Delete the science-epic residue the Cortex split left in Mind
Type: maintenance
Target: pyautomind
Repos:
- PyAutoMind
- PyAutoCortex
Themes: - mind-workflow
Difficulty: medium
Autonomy: safe
Priority: high
Status: draft
Consequence: judge
Witness:grep -rn "cortex-half\|epic-slice\|theme-sweep\|^Lane:\|experiment/" PyAutoMind --include=*.md --include=*.sh --include=*.pyreturns onlycomplete/history;epics.mdhas nojax-inference-profilingentry; the five named RAL prompts exist asPyAutoCortex/phases/**files withState: plannedand are gone fromdraft/;batches/2026-08-31-am.*is gone from Mind and present in Cortex; Mindpytest -qandlifecycle.py checkpass;pyauto-brain batch plan --dry-runstill runs
Review-minutes: 20
Unattended: ready
Epic: mind-post-cortex
Phase: 2
Filed: 2026-09-03
Phase 2 of mind-post-cortex. Touches REFERENCE.md, ROUTING.md,
scripts/status.sh and possibly tests/ → this is a code-side Mind PR (the
ledger auto-merge will not take it); the Cortex side is its own PR.
The residue (all verified 2026-09-03)
cortex-half:keys inepics.md(entriesjax-inference-profiling,
cluster-strong-lensing,graphical-ep,euclid-dr1-prep). Read by no
code:_intake.py_EPIC_FIELDS = ("title","ledger","status","notes").
Delete the key everywhere; where the Mind half is live (cluster-strong- lensing,graphical-ep,euclid-dr1-prep) fold one clause intonotes:
("science half: PyAutoCortex epics.md#"). Update theepics.md
schema paragraph if it mentions the key.jax-inference-profilingentry inepics.md: its ownstatus:says
the whole programme lives in Cortex and slices ship as autolens_profiling
PRs, not Mind prompts. One member prompt remains
(draft/feature/workspaces/phase_5_dev_leg_prepare_the_mesh.md) — detach
it (dropEpic:/Phase:, keep as an ordinary draft). Retire the entry
(statusCOMPLETE — moved to Cortex 2026-09-01, then the--retire
move; the ledger is external so only the entry text is archived).Lane:header (REFERENCE.md"Lane" section,queue.mdschema lines,
batches/AGENTS.mdif mentioned). One draft uses it. Remove the Mind-side
documentation and the one header
(draft/maintenance/autolens_profiling/legacy_point_output_sweep.md, which
moves to Cortex anyway — see 6). Leave Brain's_batch.pylane filter
alone: Cortex members areLane: local-devby construction and the Cortex
REFERENCE owns that key now — add one line there if it is not already
documented.kind: epic-slice/kind: theme-sweepinqueue.md(schema + the
"Three kinds" paragraph) andREFERENCE.md: zero consumers
(_batch.pyglobsdraft/**/*.mdonly). Reduce the schema tokind: prompt | retired; drop thelane:line. Sweep the fourkind: retired
entries into a short "Retired" footer or delete them.experiment/work-type: no folder on disk, 0 drafts, 5 historical
records. Remove it fromROUTING.md's table,AGENTS.md's work-type
list,README.md"Prompt taxonomy",scripts/status.sh, and Brain's
_sizing.pywork-type table / autonomy cap ("experiment": ...at the
~L55 and ~L936 dicts) plus any Brain test fixture that enumerates
work-types. Existingcomplete/2026/**records keep their folders.
Leave theresearchcap alone (verdict-shaped research parks for a
human by design).- Five run-shaped prompts → Cortex phases.
draft/research/graphical_ep/ ep_campaign.mdandslope_hierarchy_methods_writeup.md,
draft/research/autolens_profiling/cluster_gradient_search_benchmark.md
andmultiband_compile_census_completion.md,
draft/maintenance/autolens_profiling/legacy_point_output_sweep.md. Read
PyAutoCortex/REFERENCE.md(phase-file schema,State:,Gates:) and
docs/schema_decisions.md; write each asphases/<project>/<slug>.md
withState: plannedunder the matching project inprojects.yaml
(graphical_ep→slope_hierarchy/ic50_workspaceas fits; profiling
ones →inference_programme). Keep the original prose as the phase body.
Delete the Mind drafts (git rm) and, ifep_campaign.mdis the
graphical-epepic ledger, repoint thatepics.mdentry'sledger:at
the Cortex file or retire the Mind entry if no Mind members remain. batches/2026-08-31-am.md+packets/2026-08-31-am.html+
reviews/2026-08-31-am.md: all-science; the cortex birth migration map
(complete/archive/epics/cortex_birth_epic.md) says they move to the
Cortex, andPyAutoCortex/batches/already holds a2026-08-31-am.md.
Diff the two; if the Cortex copy is complete,git rmthe Mind trio,
else port the missing content first. Fix anybatches/AGENTS.mdor
status-box reference that assumes the am slot exists in Mind.
Then: pyauto-brain intake --apply dashboard, Mind pytest -q,
lifecycle.py check, Cortex pytest -q (its ledger_merge / phase parsers),
open both PRs.
Activity
prompt: file issue for mind-post-cortex-p2 (#390)
prompt: ship mind-post-cortex-p2 (#390) — three PRs open, awaiting merge
Jammy2211 commentedon Sep 3, 2026
Three PRs open — merge stays human.
cortex-half:keys, thejax-inference-profilingretire,Lane:, the queue kinds, theexperiment/work-type, four prompt deletions, the am batch trio deletionexperimentwork-type out of the Brain vocabulary (AUTONOMY.md cap table first, then the five code sites + four prose tables)epics.mdfixesTests: Mind
pytest -q372 passed +lifecycle.py checkOK; Brainpytest -q861 passed; Cortexpytest -q134 passed +cortex.py checkOK.pyauto-brain batch planstill runs. Both dashboards regenerated with canonical PyAutoBrain main andTZ=UTC.Two things for the human before merging.
Deviation — 4 of the 5 named prompts moved.
draft/research/graphical_ep/ep_campaign.mdstays in the Mind. It is thegraphical-epcampaign phase map, not a run: phases 1, 2, 5 and 6 are Mind development work and five Mind drafts still declareEpic: graphical-ep, so the entry is not retirable and its ledger has to stay with its members. The Cortex has no home for an umbrella ledger (phases/needs aprojects.yamlkey plus a runState:, and there is nographical_epproject row). The Cortex entry's staleledger:path is corrected instead. Say the word and it moves.Heart was RED at ship, and I checked after opening the PRs — that is the process slip. The two reasons are byte-identical to the pair acknowledged earlier today for
gaussian-precompute-p1andjax-faddeeva-clamp-audit:release validation FAILED (stage integrate)PyAutoArray: open PR 11d oldNeither touches this diff (organ docs and registries; no library source, no release surface). That acknowledgement was scoped to those two tasks, so it is not carried here — the RED is recorded unacked on the
active.mdentry and the merge call is yours.Not done, deliberately:
batches/2026-08-31-pm.mdstill names anepic-slicemember, andactive/mind_post_cortex_p2_science_residue.mdquotes every token it asks to delete. Both are history in thecomplete/genre; rewriting a dispatched batch record to satisfy a grep would be worse than the match.Jammy2211 commentedon Sep 3, 2026
Shipped
Phase 2 of
mind-post-cortex— the science residue the Cortex split left in the Mind is gone.Merged
d23a51a8(the four run-shaped prompts + the all-science am batch record become Cortex phases/records)338addad(theexperimentwork-type dropped from the vocabulary:_sizing.pywork-type table + autonomy cap, board theme, fixtures)e705eee7(cortex-half:keys, thejax-inference-profilingentry, theLane:header, theepic-slice/theme-sweepqueue kinds, the phantomexperiment/work-type, the five migrated drafts, the am batch trio)Witness re-verified at close-out
grep -rn "cortex-half\|epic-slice\|theme-sweep\|^Lane:" --include=*.md --include=*.sh --include=*.pyover Mind returns onlycomplete/records and the historicalbatches/2026-08-31-pm.mdprose row — no live schema, doc or code use.grep -rn "experiment/" ROUTING.md AGENTS.md README.md scripts/status.sh→ nothing.epics.mdhas nojax-inference-profilingentry;batches/2026-08-31-am.{md,html}andbatches/reviews/2026-08-31-am.mdare gone from Mind and present inPyAutoCortex/batches/.draft/and live asPyAutoCortex/phases/**:inference_programme/{cluster_gradient_search_benchmark,multiband_compile_census_completion,legacy_point_output_sweep}.md,slope_hierarchy/methods_writeup.md,ic50_workspace/ep_scale_up.md.python3 -m pytest -q→ 372 passed;scripts/lifecycle.py check→lifecycle check: OK.Merge notes
CONFLICTING/DIRTYon the generateddashboard.md+dashboard.htmlonly. Resolved by mergingorigin/maininto the branch and re-rendering; no code conflict.gates a Cortex phasebadge on the euclid#49 row is emitted. Final head5137043crendered byte-identical to a clean CI-shaped render, and all three workflows went green.heart-noteon this task recorded a REDpyauto-heart readinessat ship (release-validation FAILED on stage integrate; PyAutoArray open PR 11d old) that was not acked for this task. Neither reason touches this diff — organ docs and registries only, no library source and no release surface — and the merge was taken on the human's own explicit/prmcall.Epic
mind-post-cortexcontinues: phases 1 and 2 shipped, phase 3 (#392 → PyAutoMind#393 / PyAutoBrain#344) is next.prompt: ship mind-post-cortex-p2 (#390) → complete
prompt: workspace-dead-weight-cleanup (#389) → PRs #390 / Mind#413 open
complete: profiling layout phase B (#390)