Overview
Phase 0 of the cortex-birth epic (ledger: draft/feature/pyautocortex/cortex_birth_epic.md). On 2026-09-01 the human decided to split science runs out of PyAutoMind into a new organ, PyAutoCortex — a run/ruling-native registry: the Mind decides what to build, the Brain routes the work, the Cortex learns what is true. Phase 0 is the birth: the human creates the empty GitHub repo, and the organism's wiring is updated so the repo is an organ — body-map row, boundary prose, organ doc page, hub blurb, regenerated organ maps. Everything inside the Cortex repo itself is phase 1.
Plan
- Human creates
PyAutoLabs/PyAutoCortex (public, empty). It is not cloned locally during this phase, so repos_sync --write cannot pre-empt phase 1 by installing hooks into it.
- Add the
PyAutoCortex organ row to PyAutoMind/repos.yaml and regenerate every organ map and public organ table with repos_sync.py --write.
- Write the boundary prose in
PyAutoBrain/ORGANISM.md (eighth organ; ruling-of-record rule), the docs/organs/cortex.md page, and fix organ counts.
- Keep Brain's tests green on the new row (
WITNESS_EXEMPT, SIBLING_ORGANS).
- Add "Cortex" to the pyautolabs.github.io organism blurb so
check_hub_blurb passes.
- Deviation from the prompt (approved): no
_theme.py palette/mark, no policy.yaml boards: row, no install.sh edits in this phase — Gut and Nerves have none either, a board key without a palette fails test_board_theme.py, and a mark needs a logo. Phase 2 adds them with the board; phase 1 revisits install.sh.
Detailed implementation plan
Affected Repositories
- PyAutoMind (primary — body map)
- PyAutoBrain (ORGANISM.md, docs, tests, regenerated AGENTS.md map block)
- PyAutoGut, PyAutoNerves (regenerated AGENTS.md map block only)
- .github (org profile README organ table, regenerated)
- PyAutoScientist (README organ table, regenerated)
- pyautolabs.github.io (index.html blurb)
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./PyAutoMind |
main |
clean |
| ./PyAutoBrain |
main |
clean |
| ./PyAutoGut |
main |
clean |
| ./PyAutoNerves |
main |
clean |
| ./.github |
main |
clean |
| ./PyAutoScientist |
main |
clean |
| ./pyautolabs.github.io |
main |
clean |
Suggested branch: feature/cortex-birth-organ-row (worktree root ~/Code/PyAutoLabs-wt/cortex-birth-organ-row/)
Implementation Steps
PyAutoMind/repos.yaml: append after PyAutoNerves —
PyAutoCortex: {github: PyAutoLabs/PyAutoCortex, category: organ, organ: Cortex, role: "The Cortex — where the organism learns what is true: the science body map (projects.yaml) and the rulings of record for every science run; the science mirror of the Mind (runs and rulings, not prompts and PRs).", public_role: "Holds the science body map and the rulings of record for every science run, so experiments, their gates and their verdicts live apart from software development."}
python3 scripts/repos_sync.py --write --root <worktree-root> from the Mind worktree. Regenerates the organ map blocks in PyAutoBrain / PyAutoGut / PyAutoNerves AGENTS.md, the public organ tables in .github/profile/README.md and PyAutoScientist/README.md, and the worktree-root AGENTS.md (not a repo; canonical root copy regenerated post-merge). Absent Cortex checkout → skipped (absent).
- Amend the phase-0 prompt in
active/: step 5 deferred (theme/board/install → phase 2 / phase 1); record the repo-creation date.
PyAutoBrain/ORGANISM.md: organ table row after Nerves — Cortex | PyAutoCortex | learns what is true: the science body map and the rulings of record; the science mirror of the Mind (runs and rulings ↔ prompts and PRs); the Mind decides, the Brain routes and executes nothing, the Cortex learns what is true; a verdict recorded only outside the Cortex does not exist; the eighth organ. Growth-rule paragraph: one sentence naming the Cortex as the second organ that earned it (owns state no organ owned). PyAutoBrain/README.md:66-67: seven organs → eight, add Cortex (learning).
PyAutoBrain/docs/organs/cortex.md in the register of docs/organs/gut.md (what it owns, repo link, defining function: pre-registered witness → run → ruling, driver split with the phase-2 cortex conductor, ruling-of-record rule, gates as GitHub refs, "for an adopter": instance organ, link to the epic ledger); add organs/cortex to the toctree in docs/index.md.
PyAutoBrain/tests/test_policy_seams.py WITNESS_EXEMPT: add "PyAutoCortex": "born empty 2026-09-01 (cortex-birth phase 0); phase 1 adds tests/ and the test_witness row".
PyAutoBrain/agents/_pyauto_root.py SIBLING_ORGANS: add "PyAutoCortex".
pyautolabs.github.io/index.html (~:249-251): "Mind, Brain, Heart, Hands, Memory, Gut and Nerves" → "…, Gut, Nerves and Cortex".
- PyAutoGut / PyAutoNerves / .github / PyAutoScientist: commit only the regenerated hunk.
- Seven PRs, all doc/config. Merge PyAutoMind first, then the rest. Post-merge:
repos_sync.py --write from the canonical root; /prm close-out.
Verification
python3 PyAutoMind/scripts/repos_sync.py --check --root <worktree-root> exits 0 with the Cortex row (the prompt's witness).
grep -l PyAutoCortex over PyAutoBrain/AGENTS.md PyAutoGut/AGENTS.md PyAutoNerves/AGENTS.md .github/profile/README.md PyAutoScientist/README.md lists all five.
- PyAutoBrain:
pytest tests/test_policy_seams.py tests/test_board_theme.py tests/test_workspace_root.py -q; pyauto-brain board renders.
- PyAutoMind:
pytest tests -q; lifecycle.py check OK; intake --check dashboard clean.
- Watch, not block:
branch_sweep_all.yml / brain_board.yml now enumerate an empty repo (both catch clone failures with a warning).
Key Files
PyAutoMind/repos.yaml — the body map; the organ row is the birth certificate
PyAutoMind/scripts/repos_sync.py — routing_table, system_map, organ_public_table, check_hub_blurb
PyAutoBrain/ORGANISM.md — organ table + growth rule
PyAutoBrain/docs/organs/gut.md — register model for cortex.md
PyAutoBrain/tests/test_policy_seams.py, PyAutoBrain/agents/_pyauto_root.py
pyautolabs.github.io/index.html — organism blurb
Original Prompt
Click to expand starting prompt
Cortex phase 0 — birth: the repo, the body-map row, the boundary prose
Type: feature
Target: pyautocortex
Repos:
- PyAutoMind
- PyAutoBrain
- PyAutoScientist
- pyautolabs.github.io
Themes:
- mind-workflow
- docs-hub
Difficulty: medium
Autonomy: supervised
Priority: high
Status: draft
Consequence: judge
Witness: python3 PyAutoMind/scripts/repos_sync.py --check exits 0 with a Cortex row; every organ's AGENTS.md map block lists PyAutoCortex; pyautolabs.github.io hub blurb check passes
Review-minutes: 15
Unattended: never
Epic: cortex-birth
Phase: 0
Parent: draft/feature/pyautocortex/cortex_birth_epic.md
Filed: 2026-09-01
Phase 0 of 7 in the PyAutoCortex birth epic. Gates nothing external; gated by
nothing. Gates phase 1 (the skeleton needs a repo to land in).
The repo is created by the human. Nothing in the organism creates PyAutoLabs
org repos (checked 2026-08-26: the only gh repo create calls make a visiting
scientist's own repo; spawn.py force-syncs into templates that already exist).
So the first act is a human one on github.com, and everything else in this phase
is the wiring that makes a repo an organ.
Context
PyAutoBrain/ORGANISM.md:63-72: "A new organ costs an AGENTS.md, a
CLAUDE.md stub, install wiring, a body-map row and boundary prose — it must
earn that by owning state or effects no existing organ can." The Cortex earns
it by owning the science body map and the rulings ledger (epic ledger, "The
decision"). The mechanical consequences of a category: organ row are known:
repos_sync.py:227-249 writes the system map into every organ's AGENTS.md
block, :265-303 regenerates .github/profile/README.md and
PyAutoScientist/README.md, :702-712 requires the name in
pyautolabs.github.io/index.html.
Task
- Human step, first: create
PyAutoLabs/PyAutoCortex on github.com
(public — the Mind is public and the Cortex holds rulings, not data; the
science projects it points at are the private ones). Default branch
main, empty. Record the creation date in this prompt.
PyAutoMind/repos.yaml: add the row — category: organ, organ: Cortex,
role prose "The Cortex — where the organism learns what is true: the science
body map (projects.yaml) and the rulings of record for every science run;
the science mirror of the Mind (runs and rulings, not prompts and PRs)".
Run python3 scripts/repos_sync.py --write; commit the regenerated
AGENTS.md routing table and every organ's map block it touches.
PyAutoBrain/ORGANISM.md: the organ row (:13-21) and the boundary prose,
verbatim from the epic ledger: the Mind decides what to build, the Brain
routes the work and executes nothing, the Cortex learns what is true. Add
the sibling sentence beside Gut's ("the storage mirror of Memory"): the
Cortex is the science mirror of the Mind. State the ruling-of-record rule in
one sentence.
PyAutoBrain/docs/organs/cortex.md beside the six existing organ pages —
short, same register, linking the epic ledger.
PyAutoBrain/board/_theme.py:70-110 ORGANS palette + :127 MARKS entry;
config/policy.yaml:163-167 board family row (the board itself is phase 2 —
the row only reserves the key); bin/install.sh:53,:70,:188 organ arrays
(skills dir may be empty at birth — guard the symlink loop).
pyautolabs.github.io/index.html hub blurb so check_hub_blurb passes;
PyAutoScientist/README.md is regenerated by step 2 — verify, do not hand-edit.
PyAutoBrain/AGENTS.md / CLAUDE.md: the one-line pointer the other organs
have. Nothing else in Brain changes in this phase.
Acceptance
- The witness above, plus:
pyauto-brain board renders without a KeyError on
the new organ key; the Cortex repo contains only what step 1 created (the
skeleton is phase 1 — do not pre-empt it here).
- PRs: PyAutoMind (body map + regenerated maps), PyAutoBrain (ORGANISM, docs,
theme, policy, install), pyautolabs.github.io (blurb). PyAutoScientist only
if repos_sync touched it.
Out of scope
- Any file in the Cortex repo beyond GitHub's own initial state (phase 1).
- The Brain conductor and Cortex dashboard (phase 2).
- A Cortex template /
spawn.py rule (deferred, epic ledger).
Overview
Phase 0 of the
cortex-birthepic (ledger:draft/feature/pyautocortex/cortex_birth_epic.md). On 2026-09-01 the human decided to split science runs out of PyAutoMind into a new organ, PyAutoCortex — a run/ruling-native registry: the Mind decides what to build, the Brain routes the work, the Cortex learns what is true. Phase 0 is the birth: the human creates the empty GitHub repo, and the organism's wiring is updated so the repo is an organ — body-map row, boundary prose, organ doc page, hub blurb, regenerated organ maps. Everything inside the Cortex repo itself is phase 1.Plan
PyAutoLabs/PyAutoCortex(public, empty). It is not cloned locally during this phase, sorepos_sync --writecannot pre-empt phase 1 by installing hooks into it.PyAutoCortexorgan row toPyAutoMind/repos.yamland regenerate every organ map and public organ table withrepos_sync.py --write.PyAutoBrain/ORGANISM.md(eighth organ; ruling-of-record rule), thedocs/organs/cortex.mdpage, and fix organ counts.WITNESS_EXEMPT,SIBLING_ORGANS).check_hub_blurbpasses._theme.pypalette/mark, nopolicy.yaml boards:row, noinstall.shedits in this phase — Gut and Nerves have none either, a board key without a palette failstest_board_theme.py, and a mark needs a logo. Phase 2 adds them with the board; phase 1 revisitsinstall.sh.Detailed implementation plan
Affected Repositories
Branch Survey
Suggested branch:
feature/cortex-birth-organ-row(worktree root~/Code/PyAutoLabs-wt/cortex-birth-organ-row/)Implementation Steps
PyAutoMind/repos.yaml: append afterPyAutoNerves—PyAutoCortex: {github: PyAutoLabs/PyAutoCortex, category: organ, organ: Cortex, role: "The Cortex — where the organism learns what is true: the science body map (projects.yaml) and the rulings of record for every science run; the science mirror of the Mind (runs and rulings, not prompts and PRs).", public_role: "Holds the science body map and the rulings of record for every science run, so experiments, their gates and their verdicts live apart from software development."}python3 scripts/repos_sync.py --write --root <worktree-root>from the Mind worktree. Regenerates the organ map blocks in PyAutoBrain / PyAutoGut / PyAutoNervesAGENTS.md, the public organ tables in.github/profile/README.mdandPyAutoScientist/README.md, and the worktree-rootAGENTS.md(not a repo; canonical root copy regenerated post-merge). Absent Cortex checkout →skipped (absent).active/: step 5 deferred (theme/board/install → phase 2 / phase 1); record the repo-creation date.PyAutoBrain/ORGANISM.md: organ table row after Nerves — Cortex | PyAutoCortex | learns what is true: the science body map and the rulings of record; the science mirror of the Mind (runs and rulings ↔ prompts and PRs); the Mind decides, the Brain routes and executes nothing, the Cortex learns what is true; a verdict recorded only outside the Cortex does not exist; the eighth organ. Growth-rule paragraph: one sentence naming the Cortex as the second organ that earned it (owns state no organ owned).PyAutoBrain/README.md:66-67: seven organs → eight, add Cortex (learning).PyAutoBrain/docs/organs/cortex.mdin the register ofdocs/organs/gut.md(what it owns, repo link, defining function: pre-registered witness → run → ruling, driver split with the phase-2 cortex conductor, ruling-of-record rule, gates as GitHub refs, "for an adopter": instance organ, link to the epic ledger); addorgans/cortexto the toctree indocs/index.md.PyAutoBrain/tests/test_policy_seams.pyWITNESS_EXEMPT: add"PyAutoCortex": "born empty 2026-09-01 (cortex-birth phase 0); phase 1 adds tests/ and the test_witness row".PyAutoBrain/agents/_pyauto_root.pySIBLING_ORGANS: add"PyAutoCortex".pyautolabs.github.io/index.html(~:249-251): "Mind, Brain, Heart, Hands, Memory, Gut and Nerves" → "…, Gut, Nerves and Cortex".repos_sync.py --writefrom the canonical root;/prmclose-out.Verification
python3 PyAutoMind/scripts/repos_sync.py --check --root <worktree-root>exits 0 with the Cortex row (the prompt's witness).grep -l PyAutoCortexoverPyAutoBrain/AGENTS.md PyAutoGut/AGENTS.md PyAutoNerves/AGENTS.md .github/profile/README.md PyAutoScientist/README.mdlists all five.pytest tests/test_policy_seams.py tests/test_board_theme.py tests/test_workspace_root.py -q;pyauto-brain boardrenders.pytest tests -q;lifecycle.py checkOK;intake --check dashboardclean.branch_sweep_all.yml/brain_board.ymlnow enumerate an empty repo (both catch clone failures with a warning).Key Files
PyAutoMind/repos.yaml— the body map; the organ row is the birth certificatePyAutoMind/scripts/repos_sync.py—routing_table,system_map,organ_public_table,check_hub_blurbPyAutoBrain/ORGANISM.md— organ table + growth rulePyAutoBrain/docs/organs/gut.md— register model forcortex.mdPyAutoBrain/tests/test_policy_seams.py,PyAutoBrain/agents/_pyauto_root.pypyautolabs.github.io/index.html— organism blurbOriginal Prompt
Click to expand starting prompt
Cortex phase 0 — birth: the repo, the body-map row, the boundary prose
Type: feature
Target: pyautocortex
Repos:
Themes:
Difficulty: medium
Autonomy: supervised
Priority: high
Status: draft
Consequence: judge
Witness:
python3 PyAutoMind/scripts/repos_sync.py --checkexits 0 with a Cortex row; every organ's AGENTS.md map block lists PyAutoCortex;pyautolabs.github.iohub blurb check passesReview-minutes: 15
Unattended: never
Epic: cortex-birth
Phase: 0
Parent: draft/feature/pyautocortex/cortex_birth_epic.md
Filed: 2026-09-01
Phase 0 of 7 in the PyAutoCortex birth epic. Gates nothing external; gated by
nothing. Gates phase 1 (the skeleton needs a repo to land in).
The repo is created by the human. Nothing in the organism creates PyAutoLabs
org repos (checked 2026-08-26: the only
gh repo createcalls make a visitingscientist's own repo;
spawn.pyforce-syncs into templates that already exist).So the first act is a human one on github.com, and everything else in this phase
is the wiring that makes a repo an organ.
Context
PyAutoBrain/ORGANISM.md:63-72: "A new organ costs anAGENTS.md, aCLAUDE.mdstub, install wiring, a body-map row and boundary prose — it mustearn that by owning state or effects no existing organ can." The Cortex earns
it by owning the science body map and the rulings ledger (epic ledger, "The
decision"). The mechanical consequences of a
category: organrow are known:repos_sync.py:227-249writes the system map into every organ's AGENTS.mdblock,
:265-303regenerates.github/profile/README.mdandPyAutoScientist/README.md,:702-712requires the name inpyautolabs.github.io/index.html.Task
PyAutoLabs/PyAutoCortexon github.com(public — the Mind is public and the Cortex holds rulings, not data; the
science projects it points at are the private ones). Default branch
main, empty. Record the creation date in this prompt.PyAutoMind/repos.yaml: add the row —category: organ,organ: Cortex,role prose "The Cortex — where the organism learns what is true: the science
body map (
projects.yaml) and the rulings of record for every science run;the science mirror of the Mind (runs and rulings, not prompts and PRs)".
Run
python3 scripts/repos_sync.py --write; commit the regeneratedAGENTS.md routing table and every organ's map block it touches.
PyAutoBrain/ORGANISM.md: the organ row (:13-21) and the boundary prose,verbatim from the epic ledger: the Mind decides what to build, the Brain
routes the work and executes nothing, the Cortex learns what is true. Add
the sibling sentence beside Gut's ("the storage mirror of Memory"): the
Cortex is the science mirror of the Mind. State the ruling-of-record rule in
one sentence.
PyAutoBrain/docs/organs/cortex.mdbeside the six existing organ pages —short, same register, linking the epic ledger.
PyAutoBrain/board/_theme.py:70-110ORGANS palette +:127MARKS entry;config/policy.yaml:163-167board family row (the board itself is phase 2 —the row only reserves the key);
bin/install.sh:53,:70,:188organ arrays(skills dir may be empty at birth — guard the symlink loop).
pyautolabs.github.io/index.htmlhub blurb socheck_hub_blurbpasses;PyAutoScientist/README.mdis regenerated by step 2 — verify, do not hand-edit.PyAutoBrain/AGENTS.md/CLAUDE.md: the one-line pointer the other organshave. Nothing else in Brain changes in this phase.
Acceptance
pyauto-brain boardrenders without a KeyError onthe new organ key; the Cortex repo contains only what step 1 created (the
skeleton is phase 1 — do not pre-empt it here).
theme, policy, install), pyautolabs.github.io (blurb). PyAutoScientist only
if
repos_synctouched it.Out of scope
spawn.pyrule (deferred, epic ledger).