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
25 changes: 22 additions & 3 deletions .github/workflows/arxiv_papers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,15 @@ jobs:
# Skip Claude on empty days to spend zero subscription usage — the
# heartbeat above already wrote the notice. This runs only when there is
# something to summarise.
#
# TESTING TRAP: claude-code-action refuses to run when this file differs
# from the copy on the default branch ("Workflow validation failed"),
# and then exits SUCCESS. So a workflow_dispatch from a branch that
# edits this file writes no slack_payload.json, the POST below fails on
# the missing file, and every later step — the inbox filing included —
# is skipped. The error names an expired CLAUDE_CODE_OAUTH_TOKEN, which
# is the wrong cause. Test edits to this file by merging them, or
# dispatch main and read the logs.
if: ${{ steps.fetch.outputs.count != '0' }}
uses: anthropics/claude-code-action@v1
with:
Expand Down Expand Up @@ -335,9 +344,19 @@ jobs:
git config user.email "github-actions[bot]@users.noreply.github.com"
git add arxiv-inbox.md
git commit -m "inbox: ${added}, ${swept} (arXiv digest ${uk_date})"
# The retry is for a concurrent-push race — the knowledge board and the
# queue-action workflows commit to this same repo — so a rejected push
# is worth a rebase and another go. An auth failure is NOT that: the
# token either grants write on PyAutoMemory or it never will, and
# retrying only buries the real reason three screens up. Split them.
for attempt in 1 2 3; do
if git push; then exit 0; fi
if git push 2>/tmp/inbox_push.err; then exit 0; fi
cat /tmp/inbox_push.err
if grep -qiE 'denied|403|authentication failed' /tmp/inbox_push.err; then
echo "::error::PAT_PYAUTOLABS cannot write to PyAutoLabs/PyAutoMemory (push denied). It is scoped to the *-template repos that spawn_drift.yml writes; the inbox is the first thing to need Contents: read-and-write on PyAutoMemory itself. Today's papers were NOT filed, so the board shows an empty inbox. After granting the scope, re-file them with a workflow_dispatch carrying lookback_hours=168 (the lookback is submission-anchored, so a 24h sweep can miss a paper announced today but submitted days ago)."
exit 1
fi
git pull --rebase origin main || break
done
echo "::warning::could not push the Memory inbox commit. The Slack digest above is unaffected."
exit 0
echo "::error::could not push the Memory inbox commit after 3 attempts — today's papers were NOT filed into the Memory inbox, so the board shows nothing waiting. The Slack digest above is unaffected; re-file with a workflow_dispatch carrying lookback_hours=168 once the cause is fixed."
exit 1
25 changes: 13 additions & 12 deletions dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
</head>
<body>
<header class="hero"><span class="orb"><svg class="mark" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="24" cy="24" r="20.4"/><path d="M20.2,37.6 L20.2,33.6 C20.2,32.4 19.4,31.6 18.4,30.8 C16.8,29.6 15.8,28.2 15.6,26.6 C15.5,25.6 14.9,25.2 13.9,24.9 C12.6,24.5 12.3,23.7 13.0,22.7 C13.8,21.6 14.5,20.6 14.6,19.4 C15.0,15.4 18.2,12.2 22.4,11.8 C27.2,11.3 31.6,14.6 32.3,19.2 C32.8,22.4 31.6,25.0 30.6,27.0 C29.9,28.4 29.6,29.6 29.6,31.2 L29.6,37.6"/><circle cx="24.6" cy="19.6" r="4.4"/><path d="M22.5,19.7 L24.0,21.3 L26.8,18.1"/><path d="M34.2,16.5 L38.8,16.5 M35.2,21.0 L39.4,21.0 M33.6,25.5 L37.2,25.5"/><g fill="currentColor" stroke="none"><circle cx="40.1" cy="16.5" r="1.4"/><circle cx="40.7" cy="21.0" r="1.4"/><circle cx="38.5" cy="25.5" r="1.4"/></g></svg></span><h1>PyAuto<b>Mind</b><span class="kind">Dashboard</span></h1><div class="rule"></div><p class="tag">Intent. Priority. Flow.</p></header><p class="lede">Every task the Mind is holding. Tap a task's 📋 and its <code>/start_dev</code> command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task. <a href="#recent">Recent</a> is the same work by date — what has been happening rather than what to do next.</p>
<ul class="stats"><li><b>1</b><span>In flight</span></li><li><b>3</b><span>Parked</span></li><li><b>5</b><span>Planned</span></li><li><b>141</b><span>Backlog</span></li></ul>
<ul class="stats"><li><b>1</b><span>In flight</span></li><li><b>3</b><span>Parked</span></li><li><b>5</b><span>Planned</span></li><li><b>142</b><span>Backlog</span></li></ul>
<div class="fresh"><p><b>Last updated 2026-08-25.</b> This page is generated from <code>active/</code>, <code>draft/</code> and the registry files, so it is only as current as they are. <code>dashboard_refresh.yml</code> re-renders it on every push to <code>main</code> — that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to <code>complete/</code> keeps rendering here as pickable backlog. Reconciling those is the refresh below.</p>
<div class="task"><button class="copy" data-cmd="Bring the PyAutoMind dashboard up to date. Work in the PyAutoMind checkout:

Expand Down Expand Up @@ -215,7 +215,8 @@
</div>
<p class="muted mdsrc"><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/dashboard.md">markdown version</a></p>
<h2>Start here</h2>
<h3>Highest priority <span class="facets">(filed as high) — showing 12 of 15</span></h3>
<h3>Highest priority <span class="facets">(filed as high) — showing 12 of 16</span></h3>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/pyautomemory/arxiv_inbox_never_filled_pat_scope.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/pyautomemory/arxiv_inbox_never_filled_pat_scope.md">arXiv inbox never fills — PAT_PYAUTOLABS cannot write to PyAutoMemory</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">pyautomemory</span><span class="pill n">small</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/triage/jax_zero_contour.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/triage/jax_zero_contour.md">TRIAGE: needs manual review before routing</a><span class="tags"><span class="pill w y">❓ triage</span><span class="pill">medium</span><span class="pill g">safe</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md">Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching</a><span class="tags"><span class="pill w">✨ feature</span><span class="pill">autoarray</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/autoarray/rectangular_bilinear_rtu_mesh_split.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/autoarray/rectangular_bilinear_rtu_mesh_split.md">Rectangular mesh split: Bilinear (fast CPU default) vs RTU (advanced/GPU)</a><span class="tags"><span class="pill w">✨ feature</span><span class="pill">autoarray</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
Expand All @@ -227,7 +228,6 @@ <h3>Highest priority <span class="facets">(filed as high) — showing 12 of 15</
<div class="task"><button class="copy" data-cmd="/start_dev draft/docs/autolens/split_lensing_regimes.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/docs/autolens/split_lensing_regimes.md">Split lensing regimes: multi_galaxy / group / cluster (epic plan)</a><span class="tags"><span class="pill w">📖 docs</span><span class="pill">autolens</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md">Re-baseline the MGE imaging JIT profiling regression value</a><span class="tags"><span class="pill w">🧪 test</span><span class="pill">autolens_workspace_developer</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/health_fixes/jax_runtime_and_parity.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/health_fixes/jax_runtime_and_parity.md">Fix release JAX runtime compatibility and likelihood parity</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">health_fixes</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/health_fixes/jit_visualization_outputs.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/health_fixes/jit_visualization_outputs.md">Fix JIT quick-update visualization output regressions</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">health_fixes</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<h3>Quick wins <span class="facets">(small enough, and safe enough to run unattended)</span></h3>
<div class="task"><button class="copy" data-cmd="/start_dev draft/maintenance/libraries/defer_scipy_sparse_import.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/libraries/defer_scipy_sparse_import.md">Defer the eager scipy.sparse import in derivative_util (~0.10 s of import)</a><span class="tags"><span class="pill w">🧹 maintenance</span><span class="pill">libraries</span><span class="pill n">small</span><span class="pill g">safe</span><span class="pill n">normal</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/maintenance/pyautoheart/weekly_smoke_timings_artifact_naming.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/pyautoheart/weekly_smoke_timings_artifact_naming.md">The weekly smoke run's timings land in <code>results-*</code> under no discoverable name</a><span class="tags"><span class="pill w">🧹 maintenance</span><span class="pill">pyautoheart</span><span class="pill n">small</span><span class="pill g">safe</span><span class="pill n">low</span></span></p></div>
Expand All @@ -251,7 +251,7 @@ <h2>Planned <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob
<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><span class="facets"> — planned 2026-07-22</span></p></div>
</details>
<h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree/main/draft">markdown version</a></h2>
<p class="muted">141 filed prompts, not started — sorted most-pickable first (priority, then size). 25 of them belong to an epic and are listed only under Epics below.</p>
<p class="muted">142 filed prompts, not started — sorted most-pickable first (priority, then size). 25 of them belong to an epic and are listed only under Epics below.</p>
<details>
<summary>feature — 27</summary>
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md">Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching</a><span class="tags"><span class="pill w">✨ feature</span><span class="pill">autoarray</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
Expand Down Expand Up @@ -283,7 +283,8 @@ <h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/pyautomind/repos-sync-config-stamper.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/pyautomind/repos-sync-config-stamper.md">Teach repos_sync --write to stamp organ config surfaces</a><span class="tags"><span class="pill w">✨ feature</span><span class="pill">pyautomind</span><span class="pill n">hard</span><span class="pill n">supervised</span><span class="pill n">low</span></span></p></div>
</details>
<details>
<summary>bug — 22</summary>
<summary>bug — 23</summary>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/pyautomemory/arxiv_inbox_never_filled_pat_scope.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/pyautomemory/arxiv_inbox_never_filled_pat_scope.md">arXiv inbox never fills — PAT_PYAUTOLABS cannot write to PyAutoMemory</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">pyautomemory</span><span class="pill n">small</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/health_fixes/jax_runtime_and_parity.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/health_fixes/jax_runtime_and_parity.md">Fix release JAX runtime compatibility and likelihood parity</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">health_fixes</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/health_fixes/jit_visualization_outputs.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/health_fixes/jit_visualization_outputs.md">Fix JIT quick-update visualization output regressions</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">health_fixes</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
<div class="task"><button class="copy" data-cmd="/start_dev draft/bug/health_fixes/samples_parameter_paths.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/health_fixes/samples_parameter_paths.md">Fix release result/sample parameter-path regressions</a><span class="tags"><span class="pill w">🐛 bug</span><span class="pill">health_fixes</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
Expand Down Expand Up @@ -401,6 +402,12 @@ <h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree
<tr>
<td class="when">2026-08-25</td>
<td class="what">filed</td>
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/pyautomemory/arxiv_inbox_never_filled_pat_scope.md">arXiv inbox never fills — PAT_PYAUTOLABS cannot write to PyAutoMemory</a></td>
<td class="pick"><button class="copy" data-cmd="/start_dev draft/bug/pyautomemory/arxiv_inbox_never_filled_pat_scope.md" aria-label="Copy the Claude command">📋</button></td>
</tr>
<tr>
<td class="when">2026-08-25</td>
<td class="what">filed</td>
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/ci/claude_session_python_311_default.md">Claude web/mobile session containers default to Python 3.11 — below…</a></td>
<td class="pick"><button class="copy" data-cmd="/start_dev draft/maintenance/ci/claude_session_python_311_default.md" aria-label="Copy the Claude command">📋</button></td>
</tr>
Expand Down Expand Up @@ -452,7 +459,7 @@ <h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/ci/heart_smoke_table_autocti.md">Heart's local smoke runner cannot run any CTI workspace — no autocti…</a></td>
<td class="pick"><button class="copy" data-cmd="/start_dev draft/maintenance/ci/heart_smoke_table_autocti.md" aria-label="Copy the Claude command">📋</button></td>
</tr>
<tr>
<tr hidden>
<td class="when">2026-08-23</td>
<td class="what">filed</td>
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md">pynufft removal: unswept downstream residue (1 hard break + stale…</a></td>
Expand Down Expand Up @@ -692,12 +699,6 @@ <h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/maintenance/autolens_workspace_developer/stale_api_rot_audit.md">autolens_workspace_developer: broad stale-API rot (56 symbols, no CI)</a></td>
<td class="pick"><button class="copy" data-cmd="/start_dev draft/maintenance/autolens_workspace_developer/stale_api_rot_audit.md" aria-label="Copy the Claude command">📋</button></td>
</tr>
<tr hidden>
<td class="when">2026-08-04</td>
<td class="what">filed</td>
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/triage/nightly_release_blocked_eight_nights.md">Nightly release has been blocked 8 nights running — triage the streak</a></td>
<td class="pick"><button class="copy" data-cmd="/start_dev draft/triage/nightly_release_blocked_eight_nights.md" aria-label="Copy the Claude command">📋</button></td>
</tr>
</table>
<button class="more" data-page="10">… 10 more (40 left)</button>
<h2>Epics <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/epics.md">markdown version</a></h2>
Expand Down
Loading
Loading