Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ For the full workflow narrative, conventions, and registry schemas, read
- **Registry** — root-level markdown files, each with one job: `active.md`
(in-flight tasks), `planned.md` (scoped, not started), `parked.md` (started
but not in flight), `condemned.md` (self-material staged for the Gut's
transit-and-void lifecycle — see PyAutoGut), `queue.md` (ordered
transit-and-void lifecycle — see PyAutoGut), `epics.md` (long-running
multi-phase programmes and the ledger file that holds each one's state),
`queue.md` (ordered
input for `register_and_iterate --queue`), `ideas.md` (raw inbox swept by
`$intake`, `/intake` in Claude). Mutate these only via the skills in `skills/` so commit
messages stay consistent.
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ can follow every stage in this repository:
— the permanent ledger of everything the organism has shipped.

Alongside the lifecycle folders, the root holds the live registry:
[`active.md`](active.md) (in flight), [`planned.md`](planned.md) (scoped, not
[`active.md`](active.md) (in flight), [`epics.md`](epics.md) (long-running
multi-phase programmes), [`planned.md`](planned.md) (scoped, not
started), [`parked.md`](parked.md) (paused), [`ideas.md`](ideas.md) (raw
inbox), and [`repos.yaml`](repos.yaml) — the body map naming every repository
the Mind can direct.
Expand Down
13 changes: 9 additions & 4 deletions dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,18 +59,23 @@ <h3>Quick wins <span class="facets">(small enough, and safe enough to run unatte
<div class="task"><button class="copy" data-cmd="/start_dev draft/maintenance/pyautohands/hands_hygiene_leftovers.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/pyautohands/hands_hygiene_leftovers.md">Hands hygiene: expired announcement dead code, unregistered modules</a> — <span class="facets">pyautohands · small · safe · low</span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/maintenance/workspaces/latex_raw_string_docstrings.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/workspaces/latex_raw_string_docstrings.md">Raw-string the LaTeX docstrings emitting SyntaxWarnings (HowToFit + HowToLens)</a> — <span class="facets">workspaces · small · safe · low</span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/maintenance/workspaces/script_sizes_snapshot_drift.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/workspaces/script_sizes_snapshot_drift.md">Refresh the stale <code>.script_sizes.json</code> snapshot in @autolens_workspace</a> — <span class="facets">workspaces · small · safe · low</span></p></div>
<h2>In flight</h2>
<h2>In flight <a class="facets" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active.md">markdown version</a></h2>
<p class="muted">Issued — each has an open GitHub issue and usually a branch.</p>
<div class="task"><button class="copy" data-cmd="/start_dev active/16_transformed_message_factor_gradient_unpack.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/16_transformed_message_factor_gradient_unpack.md"><code>@PyAutoFit</code> <code>TransformedMessage.factor_gradient</code> crashes on first call</a> — <a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1501">issue #1501</a> — <span class="facets">HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract</span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev active/jax_default_dependency.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/jax_default_dependency.md">Make JAX a default (non-optional) dependency across the library stack</a> — <a href="https://github.com/PyAutoLabs/PyAutoLens/issues/702">issue #702</a> — <span class="facets">shipped-awaiting-release-followups — ALL ELEVEN PRs merged 2026-08-19 (human-authorized):</span></p></div>
<h2>Parked</h2>
<h2>Epics <a class="facets" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/epics.md">markdown version</a></h2>
<p class="muted">Long-running multi-phase programmes — 📋 copies a prompt that works out where the epic stands from its ledger and continues it from the next logical point.</p>
<div class="task"><button class="copy" data-cmd="Continue the 'JAX profiling — inference programme' epic. Its canonical state lives in autolens_profiling/results/notes/inference/PROGRAMME.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: DECISIONS.md (append-only gate log) and phase_&lt;NN&gt;_*/RESULTS.md sit beside the ledger; slices ship as autolens_profiling issues/PRs, not Mind prompts." aria-label="Copy the Claude command">📋</button><p><b>JAX profiling — inference programme</b> — <span class="facets">ledger: <code>autolens_profiling/results/notes/inference/PROGRAMME.md</code></span></p></div>
<div class="task"><button class="copy" data-cmd="Continue the 'Cluster strong lensing — Source &amp; Cluster arc' epic. Its canonical state lives in draft/feature/autolens/source_cluster_arc.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: 12 phased prompts under draft/; issue phases ONE at a time as predecessors near shipping — no bulk issue queues." aria-label="Copy the Claude command">📋</button><p><b>Cluster strong lensing — Source &amp; Cluster arc</b> — <span class="facets">ledger: <code>draft/feature/autolens/source_cluster_arc.md</code></span></p></div>
<div class="task"><button class="copy" data-cmd="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." aria-label="Copy the Claude command">📋</button><p><b>Expectation propagation (EP) campaign</b> — <span class="facets">ledger: <code>draft/research/graphical_ep/ep_campaign.md</code></span></p></div>
<h2>Parked <a class="facets" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/parked.md">markdown version</a></h2>
<details>
<summary>3 task(s)</summary>
<div class="task"><button class="copy" data-cmd="/start_dev active/12_single_source_density_refactor.md" aria-label="Copy the Claude command">📋</button><p><b>single-source-density-design</b> — <a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1500">issue #1500</a></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev active/13_collapse_prior_and_message.md" aria-label="Copy the Claude command">📋</button><p><b>prior-message-collapse-design</b> — <a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1500">issue #1500</a></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev active/pyautoreduce_slacs1430_acs_comparison.md" aria-label="Copy the Claude command">📋</button><p><b>pyautoreduce-slacs1430-acs-comparison</b></p></div>
</details>
<h2>Planned</h2>
<h2>Planned <a class="facets" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/planned.md">markdown version</a></h2>
<details>
<summary>6 task(s)</summary>
<div class="task"><button class="copy" data-cmd="/route start the planned PyAutoMind task isothermal-ell-sph-oversampling-at-the-cusp — its record is in planned.md" aria-label="Copy the Claude command">📋</button><p><b>isothermal-ell-sph-oversampling-at-the-cusp</b> — <span class="facets">planned — NOT yet a prompt file; file one via <code>/intake</code> before starting</span></p></div>
Expand All @@ -80,7 +85,7 @@ <h2>Planned</h2>
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/autogalaxy/piemass_potential.md" aria-label="Copy the Claude command">📋</button><p><b>piemass-potential</b> — <span class="facets">planned</span></p></div>
<div class="task"><button class="copy" data-cmd="/route start the planned PyAutoMind task latent-nan-guard-honest-run — its record is in planned.md" aria-label="Copy the Claude command">📋</button><p><b>latent-nan-guard-honest-run</b></p></div>
</details>
<h2>Backlog</h2>
<h2>Backlog <a class="facets" href="https://github.com/PyAutoLabs/PyAutoMind/tree/main/draft">markdown version</a></h2>
<p class="muted">149 filed prompts, not started — sorted most-pickable first (priority, then size).</p>
<details>
<summary>bug — 36</summary>
Expand Down
28 changes: 28 additions & 0 deletions dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,34 @@ Issued — each has an open GitHub issue and usually a branch. The full record f

</details>

## Epics

Long-running multi-phase programmes. Each 📋 prompt has Claude read the epic's ledger, work out where it stands, and continue from the next logical point — no hunting for the paired issue. Full record in [`epics.md`](epics.md).

<details><summary>📋 <b>JAX profiling — inference programme</b> — ledger: `autolens_profiling/results/notes/inference/PROGRAMME.md`</summary>

```
Continue the 'JAX profiling — inference programme' epic. Its canonical state lives in autolens_profiling/results/notes/inference/PROGRAMME.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: DECISIONS.md (append-only gate log) and phase_<NN>_*/RESULTS.md sit beside the ledger; slices ship as autolens_profiling issues/PRs, not Mind prompts.
```

</details>

<details><summary>📋 <b>Cluster strong lensing — Source &amp; Cluster arc</b> — ledger: `draft/feature/autolens/source_cluster_arc.md`</summary>

```
Continue the 'Cluster strong lensing — Source & Cluster arc' epic. Its canonical state lives in draft/feature/autolens/source_cluster_arc.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: 12 phased prompts under draft/; issue phases ONE at a time as predecessors near shipping — no bulk issue queues.
```

</details>

<details><summary>📋 <b>Expectation propagation (EP) campaign</b> — ledger: `draft/research/graphical_ep/ep_campaign.md`</summary>

```
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.
```

</details>

## Parked

Started or scoped, not currently in flight — resume by moving the row back to `active.md`. Full detail in [`parked.md`](parked.md).
Expand Down
28 changes: 28 additions & 0 deletions epics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Epics

Long-running multi-phase programmes — work that is bigger than any one task
and outlives any single issue. Each entry names the epic's canonical
**ledger**: the file that holds its phase/gate state, wherever it lives. The
dashboard renders these under In flight with a one-tap resume prompt that
works out where the epic stands from its ledger and continues it from the
next logical point — nobody should have to hunt for the issue that pairs
with an epic's current phase.

Schema per entry: `## <slug>` then `- title:` / `- ledger:` / `- notes:`
(and optionally `- status:` for a coarse, durable state — never per-phase
detail, which belongs in the ledger).

## jax-inference-profiling
- title: JAX profiling — inference programme
- ledger: autolens_profiling/results/notes/inference/PROGRAMME.md
- notes: DECISIONS.md (append-only gate log) and phase_<NN>_*/RESULTS.md sit beside the ledger; slices ship as autolens_profiling issues/PRs, not Mind prompts.

## cluster-strong-lensing
- title: Cluster strong lensing — Source & Cluster arc
- ledger: draft/feature/autolens/source_cluster_arc.md
- notes: 12 phased prompts under draft/; issue phases ONE at a time as predecessors near shipping — no bulk issue queues.

## graphical-ep
- title: Expectation propagation (EP) campaign
- ledger: draft/research/graphical_ep/ep_campaign.md
- notes: 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.
5 changes: 3 additions & 2 deletions scripts/spawn.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
# there, and the Mind's root stays the task ledger.
(".github/AI_POLICY.md", "KEEP_SUB"), (".github/CONTRIBUTING.md", "KEEP_SUB"),
("repos.yaml", "SPECIAL:body_map"),
("active.md", "EMPTY"), ("planned.md", "EMPTY"),
("active.md", "EMPTY"), ("planned.md", "EMPTY"), ("epics.md", "EMPTY"),
("parked.md", "EMPTY"), ("condemned.md", "EMPTY"), ("ideas.md", "EMPTY"), ("queue.md", "EMPTY"),
("autonomy_log.md", "SPECIAL:autonomy_log"),
# Prompt-file lifecycle (issue #71): draft/ (not-started) -> active/
Expand Down Expand Up @@ -193,8 +193,9 @@
# SHARES a name (e.g. Memory's `bibliography/active.md`, caught by the broad
# `bibliography/*` EMPTY rule) does not silently inherit a root file's title.
EMPTY_TITLES = {
"dashboard.md": "# PyAutoMind task dashboard",
"dashboard.md": "# PyAutoMind Dashboard",
"active.md": "# Active Tasks",
"epics.md": "# Epics",
"planned.md": "# Planned",
"parked.md": "# Parked tasks",
"condemned.md": "# Condemned material",
Expand Down
Loading