diff --git a/.github/workflows/dashboard_refresh.yml b/.github/workflows/dashboard_refresh.yml index 6469ef60..dd7badfc 100644 --- a/.github/workflows/dashboard_refresh.yml +++ b/.github/workflows/dashboard_refresh.yml @@ -28,6 +28,7 @@ on: - "parked.md" - "planned.md" - "dashboard.md" + - "dashboard.html" pull_request: paths: - "draft/**" @@ -36,6 +37,7 @@ on: - "parked.md" - "planned.md" - "dashboard.md" + - "dashboard.html" workflow_dispatch: # contents: write is needed by the self-heal push on main; PR runs never push. @@ -100,8 +102,8 @@ jobs: echo "::error::'--apply dashboard' did not converge — renderer bug, repair by hand" exit 1 fi - git add dashboard.md - git commit -m "mind: self-heal stale dashboard.md" + git add dashboard.md dashboard.html + git commit -m "mind: self-heal stale dashboard pages" if git push origin HEAD:main; then echo "healed on attempt ${attempt}" exit 0 diff --git a/.github/workflows/pages_dashboard.yml b/.github/workflows/pages_dashboard.yml new file mode 100644 index 00000000..49efd5ed --- /dev/null +++ b/.github/workflows/pages_dashboard.yml @@ -0,0 +1,55 @@ +name: Pages Dashboard + +# Serves the generated `dashboard.html` — the task dashboard's one-tap-copy +# twin — at this repo's GitHub Pages URL (as the site's index page). +# +# Why a twin exists at all: GitHub's markdown rendering strips JavaScript, so +# `dashboard.md` can never write to the clipboard — on the GitHub mobile app +# its fenced blocks have no copy affordance at all, leaving long-press text +# selection as the only way to grab a task's `/start_dev` command. The HTML +# page carries a real copy button per task instead: one tap and the command +# is on the clipboard, ready to paste into a Claude Code chat. +# +# The file itself is rendered by PyAutoBrain's intake conductor alongside +# `dashboard.md` (one census, two pages) and kept fresh by the same +# self-heal in `dashboard_refresh.yml`; this workflow only publishes it. +# Only the uploaded file is served — nothing else in the repo reaches Pages. + +on: + push: + branches: [main] + paths: + - "dashboard.html" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + deploy: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - uses: actions/checkout@v4 + # enablement: true creates the Pages site on first run, so no manual + # Settings → Pages step is needed. + - uses: actions/configure-pages@v5 + with: + enablement: true + - name: stage the dashboard as the site index + run: | + mkdir -p _site + cp dashboard.html _site/index.html + - uses: actions/upload-pages-artifact@v3 + with: + path: _site + - id: deployment + uses: actions/deploy-pages@v4 diff --git a/README.md b/README.md index 44dba77a..05b94c92 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,10 @@ 📋 **[Task dashboard → `dashboard.md`](dashboard.md)** — every task the Mind is holding, on one page: what to pick up now, what is in flight, and the whole backlog. Reads on a phone; regenerated from this repo, so it is never a -second copy of the truth. +second copy of the truth. On a phone, prefer the +**[one-tap copy version](https://pyautolabs.github.io/PyAutoMind/)** — tap a +task's 📋 and its `/start_dev` command is on your clipboard, ready to paste +into a Claude Code chat. The Mind of the PyAuto organism: every piece of work in the ecosystem starts here, as a markdown file describing what you want in plain English. An AI diff --git a/dashboard.html b/dashboard.html new file mode 100644 index 00000000..00f1a83c --- /dev/null +++ b/dashboard.html @@ -0,0 +1,245 @@ + + +
+ + +Every task the Mind is holding. Tap a task's 📋 and its /start_dev command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task.
In flight 1 · Parked 3 · Planned 6 · Backlog 122 · markdown version
+TRIAGE: needs manual review before routing — medium · safe · high
Decide whether the clipper belongs in the search identifier — autofit · medium · human-required · high
The ell_comps trapping was masked, not cleared — characterise it — autolens_profiling · medium · supervised · high
Cluster package: point-source-default narrative + extended-source follow-up feature — workspaces · medium · supervised · high
multi_galaxy package: new regime package in autolens_workspace — autolens · large · supervised · high
Profile and speed up JAX likelihood-function compile times (all use — autolens_profiling · large · supervised · high
Give the Profiling Agent a compile-time axis — the arc — profiling · large · supervised · high
Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high
EP hierarchical parent-scale collapse: cure the basin, or document the — autofit · too-large · human-required · high
Census of priors and messages — confirmed bugs + redesign — autofit · too-large · supervised · high
einstein_radius_jit_from: replace static init_guess with a JAX-native seed finder — autogalaxy · too-large · supervised · high
Investigate eager FitImaging.figure_of_merit vs JIT/step-by-step divergence in rectangular pixelization — autolens · too-large · supervised · high
Tenant firewall: release_run.py carries an unlisted 'PyAutoLabs' instance fact — pyautoheart · small · safe · normal
add-vincken-2026-wiki-and-cite-in-euclid — workspaces · small · safe · normal
add_notebook_quotes mistakes a code string literal's closing delimiter for a — hands · small · safe · low
Markdown renderings batch 2a — leftovers (ellipse/modeling + PNG size) — pyautobuild · small · safe · low
Raw-string the LaTeX docstrings emitting SyntaxWarnings (HowToFit + HowToLens) — workspaces · small · safe · low
Refresh the stale .script_sizes.json snapshot in @autolens_workspace — workspaces · small · safe · low
Issued — each has an open GitHub issue and usually a branch.
+Reconstructing a stored sample raises through ignore_assertions=True — issue #1486 — library-dev — WORKSPACE HALF SHIPPED; the PyAutoFit hardening (#1486) is what remains
single-source-density-design — issue #1500
prior-message-collapse-design — issue #1500
pyautoreduce-slacs1430-acs-comparison
isothermal-ell-sph-oversampling-at-the-cusp — planned — NOT yet a prompt file; file one via /intake before starting
remote-mcp-deployment-tiers — issue #20 — DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP…
samples-parameter-paths — issue #1327 — parked
jax-point-source-point-smoke-sentinel — planned
piemass-potential — planned
latent-nan-guard-honest-run
122 filed prompts, not started — sorted most-pickable first (priority, then size).
+EP hierarchical parent-scale collapse: cure the basin, or document the — autofit · too-large · human-required · high
Investigate eager FitImaging.figure_of_merit vs JIT/step-by-step divergence in rectangular pixelization — autolens · too-large · supervised · high
Fix Autofit release sampler and database regressions — health_fixes · too-large · supervised · high
Fix release JAX runtime compatibility and likelihood parity — health_fixes · too-large · supervised · high
Fix JIT quick-update visualization output regressions — health_fixes · too-large · supervised · high
Fix release-profile numerical inversion failures — health_fixes · too-large · supervised · high
Fix release result/sample parameter-path regressions — health_fixes · too-large · supervised · high
pixel_scales given as an int (or np.float64) is never widened — autoarray · small · supervised · medium
Heart script_timing baselines are orphaned by path moves and filled — pyautoheart · small · supervised · medium
jax_grad scripts fail assertions locally that PASS in CI — autolens_workspace_test · medium · supervised · medium
PyNUFFT dev extra is incompatible with current SciPy on Python — autoarray · small · supervised · normal
LogGaussianPrior misreports its own support as (-inf, inf) — autofit · small · supervised · normal
autofit.plot functions accept **kwargs and silently discard them — autofit · small · supervised · normal
TEST_MODE bypass crashes on ordered-parameter assertion ties — autofit · small · supervised · normal
point.py JAX-vmap parity assert is non-deterministic under the smoke env — autolens · small · supervised · normal
Scripts derive geometry from a hardcoded pixel_scale while the dataset — autolens_workspace · small · supervised · normal
HowToGalaxy small API drifts: ellipse kwargs + plot_grid_lines (parked NEEDS_FIX) — howtogalaxy · small · supervised · normal
generate.py deletes notebooks/ before rejecting an unknown project — pyautohands · small · supervised · normal
Tenant firewall: release_run.py carries an unlisted 'PyAutoLabs' instance fact — pyautoheart · small · safe · normal
aplt.Output stale-API drift in the remaining workspace repos — workspaces · small · supervised · normal
Three jax_likelihood pins are stale by ~1.24e-4 and fail the — workspaces · small · supervised · normal
PROBE: is Adapt's 4th-power coefficient dependence (double square) intentional? — autoarray · medium · supervised · normal
interferometer Delaunay pixelization — non-PD FitException in test-mode bypass — autolens · medium · supervised · normal
JAX point-source smoke sentinel: point.py returns -1e99 instead of -83.38 — autolens · medium · supervised · normal
JIT cache not hit in modeling_visualization delaunay/rectangular scripts — autolens · medium · supervised · normal
@PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobian — priors · medium · supervised · normal
Resolve release-profile timeout scripts deliberately — health_fixes · too-large · supervised · normal
@PyAutoFit Refactor: replace hand-rolled AbstractDensityTransform with tfp.bijectors / numpyro.distributions.transforms — priors · too-large · supervised · normal
Priors & Messages cleanup — tracker — priors · too-large · supervised · normal
add_notebook_quotes mistakes a code string literal's closing delimiter for a — hands · small · safe · low
Decide whether the clipper belongs in the search identifier — autofit · medium · human-required · high
Profile and speed up JAX likelihood-function compile times (all use — autolens_profiling · large · supervised · high
Give the Profiling Agent a compile-time axis — the arc — profiling · large · supervised · high
Which other searches need prior-support handling — coverage audit after — autofit · medium · supervised · medium
Give PyAutoFit searches a seed — today no search can — autofit · medium · supervised · medium
Can create a list of InversionMatrix objects for each dataset — autoarray · medium · supervised · normal
The project @z_projects/ic50_workspace is our IC50 use case which we — autofit · medium · safe · normal
Tune cluster-scale JOSS benchmarks toward their 5-minute targets — autolens_workspace · medium · supervised · normal
Token-light wiki index over the complete/ archive — pyautomind · medium · supervised · normal
The imaging features/advanced/los_halos example needs improving and padding out before — workspaces · medium · safe · normal
The imaging features/advanced/subhalo/sensitivity example needs improving and padding out before — workspaces · medium · safe · normal
Claude Development Prompt: Arcsecond Tick Label Decimal Placement — autoarray · large · supervised · normal
EP analytic updates — implement the four planned work packages — autofit · large · supervised · normal
Remote-MCP deployment tiers (2 + 3) for the results-inspector server — autofit_assistant · large · human-required · normal
Search settings-estimation + profiling infrastructure (n_starts / batch_size / n_batch) — autolens_profiling · large · supervised · normal
Adopt oversampled PSFs in the start-here dataset chain (option a) — autolens_workspace · large · supervised · normal
Follow-up to rectangular_adapt_cdf.md (issue #322) and Path A — autoarray · too-large · supervised · normal
PIEMass.potential_2d_from: implement the missing lensing potential — autogalaxy · too-large · supervised · normal
autolens_jax_joss benchmark repo + real-data start_here pairing — autolens_jax_joss · too-large · supervised · normal
Context: PyAutoLens issue #542 follow-up (Gap 1, deferred during the — jax_substructure · too-large · supervised · normal
Context: PyAutoLens issue #542 follow-up (Gap 2, deferred during the — jax_substructure · too-large · supervised · normal
Once https://github.com/PyAutoLabs/PyAutoLens/issues/480 is fixed (PointSolver — workspaces · too-large · supervised · normal
dPIE: optional central-dispersion (sigma_0) parameterization — autogalaxy · small · supervised · low
Gallery runner: add visualization_upper + decide the modeling_visualization_jit tier — workspaces · small · supervised · low
Scheduled runs — overnight queue passes with a morning report — autonomy · medium · supervised · low
Teach repos_sync --write to stamp organ config surfaces — pyautomind · hard · supervised · low
The ell_comps trapping was masked, not cleared — characterise it — autolens_profiling · medium · supervised · high
Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high
Census of priors and messages — confirmed bugs + redesign — autofit · too-large · supervised · high
Expectation Propagation Scale-Up — Scoping — graphical_ep · too-large · supervised · high
Graphical Model Scale-Up — Scoping — graphical_ep · too-large · supervised · high
Delaunay-family JAX modules never hit the persistent compilation cache — autoarray · medium · supervised · medium
Quick-update plotting cost — minutes per update, and it is — autolens · medium · supervised · medium
Use readthedocs or migrate to GitHub docs — autobuild · small · supervised · normal
Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fix — pyautoreduce · small · supervised · normal
Kernel-CDF bandwidth defaults — config-dependent quality, investigate adaptivity — autoarray · medium · supervised · normal
We have lots of examples which profile how long JAX — autolens_workspace_developer · medium · supervised · normal
slope_hierarchy: methods write-up (NUTS headline, EP cautionary) — graphical_ep · medium · supervised · normal
slope_hierarchy: scale the hierarchical slope recovery to N=25–50 — graphical_ep · medium · supervised · normal
Checkerboard PSF-mismatch residual diagnostic — research + document + ingest — pyautomemory · medium · supervised · normal
Multi-band compile census completion — A100/multi-core + hetero GPU rows — autolens_profiling · small · supervised · low
Chase the ~6% flux scale between PyAutoReduce and legacy SLACS — pyautoreduce · medium · supervised · low
PyAutoArray Delaunay interpolator's pure_callback vs vmap — minor efficiency follow-up — autoarray · too-large · supervised · low
Cluster-scale gradient-search benchmark (Prodigy vs Nautilus, point-source) — autolens_profiling
autolens_workspace_developer rectangular experiments — Gut stash + rename — autolens_workspace_developer · small · supervised · normal
Mirror drifted library config keys into the workspace configs — workspaces · small · supervised · normal
Un-park imaging/features/scaling_relation/slam once PyAutoArray#431 merges — workspaces · small · supervised · normal
autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) — autolens_workspace_developer · medium · supervised · normal
run_smoke.py: three runner variants across 10 repos, no sync mechanism — ci · medium · supervised · normal
Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two dead — libraries · medium · supervised · normal
PyAutoMemory canonical-key TODO sweep — pyautomemory · medium · supervised · normal
Single-source the "Never rewrite history" policy as a generated AGENTS.md — pyautomind · medium · supervised · normal
Capped smoke datasets were committed as if they were real — workspaces · medium · supervised · normal
autolens_profiling is now a mature project, with a good separation — autolens_profiling · large · supervised · normal
Auto-request GitHub Copilot code review on every PR, org-wide — ci · large · supervised · normal
autolens_workspace — workspaces · too-large · supervised · normal
dataset/imaging/jwst_lw is untracked because the gitignore was never extended for — autolens_profiling · small · supervised · low
cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of — autolens_workspace · small · supervised · low
LaTeX in non-raw docstrings emits SyntaxWarning: invalid escape sequence — autolens_workspace · small · supervised · low
Raw-string the LaTeX docstrings emitting SyntaxWarnings (HowToFit + HowToLens) — workspaces · small · safe · low
Regenerate setup_notebook-drifted notebooks in autogalaxy/autofit/HowToFit workspaces — workspaces · small · supervised · low
Refresh the stale .script_sizes.json snapshot in @autolens_workspace — workspaces · small · safe · low
Cluster package: point-source-default narrative + extended-source follow-up feature — workspaces · medium · supervised · high
multi_galaxy package: new regime package in autolens_workspace — autolens · large · supervised · high
Split lensing regimes: multi_galaxy / group / cluster (epic plan) — autolens · too-large · supervised · high
Advanced workspace guide: Preloads (PyAutoArray) — workspaces · too-large · supervised · high
Regenerate autolens_workspace markdown/ so the MGE pages show sigma_min — autolens_workspace · small · supervised · normal
add-vincken-2026-wiki-and-cite-in-euclid — workspaces · small · safe · normal
Propagate the shear_galaxy-at-(0,0) idiom to group/ and cluster/ — workspaces · small · supervised · normal
Rectangular mesh Enzi citation — user-workspace pixelization examples — workspaces · small · supervised · normal
Rewrite PyAutoCTI docs/api — 55 of 89 autosummary entries are — autocti · medium · supervised · normal
extra_galaxies feature parity: point_source + multi_galaxy (both workspaces) — workspaces · medium · supervised · normal
HowToLens ch4 tutorial 3: mask overlay is never actually drawn — howtolens · small · supervised · low
Markdown renderings batch 2a — leftovers (ellipse/modeling + PNG size) — pyautobuild · small · safe · low
Assistants: regime-aware routing for multi_galaxy / group / cluster (follow-up) — workspaces · medium · supervised · low
Phase 2 — drop the hand-written quick-update sentence from the — autolens_workspace
Phase 2: Make workspace READMEs assistant-first — workspaces
einstein_radius_jit_from: replace static init_guess with a JAX-native seed finder — autogalaxy · too-large · supervised · high
Vendor bessel_kve into autoarray and drop the tensorflow-probability dependency — autoarray · large · supervised · medium
Split Fitness.batch_size into lh_batch_size and latent_batch_size — autofit · small · supervised · normal
Slow imports: autolens 4.3s, autogalaxy 3.4s (hygiene perf tier, >3s — libraries · medium · supervised · normal
Remove the dead EDEN packaging tooling from PyAutoFit — pyautofit · medium · supervised · normal
Re-baseline the MGE imaging JIT profiling regression value — autolens_workspace_developer · too-large · supervised · high
Restore absolute NumPy likelihood regression baselines in the _workspace_test — workspaces · too-large · supervised · high
The new workspace smoke-test GitHub Actions (added via feature/smoke-test-ci) surfaced — workspaces · too-large · supervised · normal
TRIAGE: needs manual review before routing — medium · safe · high
Triage: Convolver "No blurring_image provided" warning in canonical workspace scripts — small · supervised · normal
Nightly release has been blocked 8 nights running — triage — medium · supervised · normal
CTI release-train wiring — first modern autocti release — autocti · medium · human-required · normal