Skip to content

maintenance: delete the science residue in Mind (mind-post-cortex p2) #390

Closed

Description

@Jammy2211

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 four epics.md entries, folding the pointer into notes: where the Mind half is still live; update the schema paragraph.
  • Retire the jax-inference-profiling Mind 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's kind: schema to prompt | retired, drop lane:, 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.md cap table first, then _sizing.py, _intake.py, _feature.py and the taxonomy docs). Historical complete/2026/** records keep their folders; the research cap is untouched.
  • Transcribe four run-shaped Mind drafts into PyAutoCortex phase files (State: planned) and git rm them from Mind.
  • Delete the Mind 2026-08-31-am batch record / packet / review after porting the facts the Cortex transcription dropped.
  • Regenerate the Mind dashboard, run Mind + Brain + Cortex pytest -q and lifecycle.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

  1. epics.md — cortex-half: keys. Delete the key from jax-inference-profiling, cluster-strong-lensing, graphical-ep, euclid-dr1-prep. For the three whose Mind half is live, add science half: PyAutoCortex epics.md#<slug> to notes:. Update the schema paragraph (line 11) if it names the key. Nothing reads it: _intake.py _EPIC_FIELDS = ("title","ledger","status","notes").
  2. epics.md — retire jax-inference-profiling. Detach draft/feature/workspaces/phase_5_dev_leg_prepare_the_mesh.md (drop Epic:/Phase:). Set the entry's status: to COMPLETE — moved to Cortex 2026-09-01 and run lifecycle.py epics --retire; the ledger is external (autolens_profiling/…/PROGRAMME.md) so only the entry text is archived.
  3. Lane:. Delete the ### Lane: — where the work can run section from REFERENCE.md, the lane: line from queue.md's schema and its paragraph, and the Lane: local-dev header from draft/maintenance/autolens_profiling/legacy_point_output_sweep.md (that file moves to the Cortex under step 6 anyway). Cortex REFERENCE.md:81 already documents Lane: — no Cortex edit needed. Brain's _batch.py lane filter is left alone.
  4. queue.md kinds. Schema becomes kind: prompt | retired; drop the epic-slice / theme-sweep bullets and the "Three kinds" framing; drop lane:. Collapse entries 2, 3, 4, 6, 8, 9 (kind: retired) into a short "Retired" footer. Mirror the REFERENCE.md "queue and the batch records" paragraph.
  5. experiment/ work-type. Mind: ROUTING.md table row, REFERENCE.md taxonomy table + tree + good-paths example, AGENTS.md work-type list, scripts/status.sh WORK_TYPES, scripts/spawn.py MIND_WORK_TYPES, docs/pyautobrain/spawn_spec.md rule 6. Brain: AUTONOMY.md cap table row first (doctrine edit), then agents/faculties/sizing/_sizing.py WORK_TYPES + WORK_TYPE_AUTONOMY_CAPS, agents/conductors/intake/_intake.py TYPE_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 the research cap and the samplers faculty's unrelated "experiment tier" vocabulary alone.
  6. 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, gains State: planned + Migrated-from:, and is git rm'd from Mind. ep_campaign.md stays in Mind — see "Deviation" below.
  7. 2026-08-31-am trio. batches/packets/2026-08-31-am.html is byte-identical to the Cortex copy; batches/reviews/2026-08-31-am.md is a strict subset of it. The record itself carries three facts the Cortex transcription dropped (the dev member euclid-phase2-pr46, the pre-framework usage-window/heart-ack/expected-effects n/a lines, and the Mind commit refs for the packet fix) — port those into the Cortex record's notes:, correct its "the Mind original stays intact" sentence, then git rm all 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.md
  • PyAutoBrain/AUTONOMY.md, agents/faculties/sizing/_sizing.py, agents/conductors/intake/_intake.py, agents/conductors/feature/_feature.py + the three taxonomy docs
  • PyAutoCortex/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=*.py returns only complete/ history; epics.md has no jax-inference-profiling entry; the five named RAL prompts exist as PyAutoCortex/phases/** files with State: planned and are gone from draft/; batches/2026-08-31-am.* is gone from Mind and present in Cortex; Mind pytest -q and lifecycle.py check pass; pyauto-brain batch plan --dry-run still 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)

  1. cortex-half: keys in epics.md (entries jax-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 into notes:
    ("science half: PyAutoCortex epics.md#"). Update the epics.md
    schema paragraph if it mentions the key.
  2. jax-inference-profiling entry in epics.md: its own status: 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 (drop Epic:/Phase:, keep as an ordinary draft). Retire the entry
    (status COMPLETE — moved to Cortex 2026-09-01, then the --retire
    move; the ledger is external so only the entry text is archived).
  3. Lane: header (REFERENCE.md "Lane" section, queue.md schema lines,
    batches/AGENTS.md if 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.py lane filter
    alone: Cortex members are Lane: local-dev by construction and the Cortex
    REFERENCE owns that key now — add one line there if it is not already
    documented.
  4. kind: epic-slice / kind: theme-sweep in queue.md (schema + the
    "Three kinds" paragraph) and REFERENCE.md: zero consumers
    (_batch.py globs draft/**/*.md only). Reduce the schema to kind: prompt | retired; drop the lane: line. Sweep the four kind: retired
    entries into a short "Retired" footer or delete them.
  5. experiment/ work-type: no folder on disk, 0 drafts, 5 historical
    records. Remove it from ROUTING.md's table, AGENTS.md's work-type
    list, README.md "Prompt taxonomy", scripts/status.sh, and Brain's
    _sizing.py work-type table / autonomy cap ("experiment": ... at the
    ~L55 and ~L936 dicts) plus any Brain test fixture that enumerates
    work-types. Existing complete/2026/** records keep their folders.
    Leave the research cap alone (verdict-shaped research parks for a
    human by design).
  6. Five run-shaped prompts → Cortex phases. draft/research/graphical_ep/ ep_campaign.md and slope_hierarchy_methods_writeup.md,
    draft/research/autolens_profiling/cluster_gradient_search_benchmark.md
    and multiband_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 as phases/<project>/<slug>.md
    with State: planned under the matching project in projects.yaml
    (graphical_ep → slope_hierarchy / ic50_workspace as fits; profiling
    ones → inference_programme). Keep the original prose as the phase body.
    Delete the Mind drafts (git rm) and, if ep_campaign.md is the
    graphical-ep epic ledger, repoint that epics.md entry's ledger: at
    the Cortex file or retire the Mind entry if no Mind members remain.
  7. 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, and PyAutoCortex/batches/ already holds a 2026-08-31-am.md.
    Diff the two; if the Cortex copy is complete, git rm the Mind trio,
    else port the missing content first. Fix any batches/AGENTS.md or
    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

  1. added 2 commits that reference this issue on Sep 3, 2026
  2. Jammy2211 commented on Sep 3, 2026

    @Jammy2211
    CollaboratorAuthor

    Three PRs open — merge stays human.

    Repo PR What it carries
    PyAutoMind #391 cortex-half: keys, the jax-inference-profiling retire, Lane:, the queue kinds, the experiment/ work-type, four prompt deletions, the am batch trio deletion
    PyAutoBrain PyAutoLabs/PyAutoBrain#343 the experiment work-type out of the Brain vocabulary (AUTONOMY.md cap table first, then the five code sites + four prose tables)
    PyAutoCortex PyAutoLabs/PyAutoCortex#8 four new phases (slope_hierarchy 2, inference_programme 17/18/19), the am batch record ported and corrected, two epics.md fixes

    Tests: Mind pytest -q 372 passed + lifecycle.py check OK; Brain pytest -q 861 passed; Cortex pytest -q 134 passed + cortex.py check OK. pyauto-brain batch plan still runs. Both dashboards regenerated with canonical PyAutoBrain main and TZ=UTC.

    Two things for the human before merging.

    1. Deviation — 4 of the 5 named prompts moved. draft/research/graphical_ep/ep_campaign.md stays in the Mind. It is the graphical-ep campaign phase map, not a run: phases 1, 2, 5 and 6 are Mind development work and five Mind drafts still declare Epic: 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 a projects.yaml key plus a run State:, and there is no graphical_ep project row). The Cortex entry's stale ledger: path is corrected instead. Say the word and it moves.

    2. 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-p1 and jax-faddeeva-clamp-audit:

      • release validation FAILED (stage integrate)
      • PyAutoArray: open PR 11d old

      Neither 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.md entry and the merge call is yours.

    Not done, deliberately: batches/2026-08-31-pm.md still names an epic-slice member, and active/mind_post_cortex_p2_science_residue.md quotes every token it asks to delete. Both are history in the complete/ genre; rewriting a dispatched batch record to satisfy a grep would be worse than the match.

  3. Jammy2211 commented on Sep 3, 2026

    @Jammy2211
    CollaboratorAuthor

    Shipped

    Phase 2 of mind-post-cortex — the science residue the Cortex split left in the Mind is gone.

    Merged

    • PyAutoCortex#8 — d23a51a8 (the four run-shaped prompts + the all-science am batch record become Cortex phases/records)
    • PyAutoBrain#343 — 338addad (the experiment work-type dropped from the vocabulary: _sizing.py work-type table + autonomy cap, board theme, fixtures)
    • PyAutoMind#391 — e705eee7 (cortex-half: keys, the jax-inference-profiling entry, the Lane: header, the epic-slice/theme-sweep queue kinds, the phantom experiment/ 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=*.py over Mind returns only complete/ records and the historical batches/2026-08-31-pm.md prose row — no live schema, doc or code use.
    • grep -rn "experiment/" ROUTING.md AGENTS.md README.md scripts/status.sh → nothing.
    • epics.md has no jax-inference-profiling entry; batches/2026-08-31-am.{md,html} and batches/reviews/2026-08-31-am.md are gone from Mind and present in PyAutoCortex/batches/.
    • The five migrated prompts are gone from draft/ and live as PyAutoCortex/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.
    • Mind python3 -m pytest -q → 372 passed; scripts/lifecycle.py check → lifecycle check: OK.

    Merge notes

    • PyAutoMind#391 arrived CONFLICTING/DIRTY on the generated dashboard.md + dashboard.html only. Resolved by merging origin/main into the branch and re-rendering; no code conflict.
    • Two further red CI rounds on Dashboard Refresh, both render-input drift rather than a bug in this diff: the pages had to be re-rendered against PyAutoBrain main after session: make the hook's own mechanisms reachable in a multi-repo session #343 merged (the dropped work-type changes the render), and then again from a cwd inside the Mind checkout so the gates a Cortex phase badge on the euclid#49 row is emitted. Final head 5137043c rendered byte-identical to a clean CI-shaped render, and all three workflows went green.
    • The heart-note on this task recorded a RED pyauto-heart readiness at 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 /prm call.

    Epic mind-post-cortex continues: phases 1 and 2 shipped, phase 3 (#392 → PyAutoMind#393 / PyAutoBrain#344) is next.

  4. added a commit that references this issue on Sep 3, 2026
  5. added a commit that references this issue on Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions