From 094a71e17de1df8085f844ef7878d8707045a352 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 19:55:58 +0000 Subject: [PATCH 1/6] prompt: re-verify latex-raw-string-docstrings blocker; harden its sweep gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resumed /start_dev on draft/maintenance/workspaces/latex_raw_string_docstrings.md. The task remains BLOCKED and no issue was filed. Blocker re-verified against PyAutoHands main @ cdea28c, on a probe pair differing only by an `r` on the first narrative docstring: _narrative_docstring_ranges [(0,2),(6,10)] -> [(6,10)] (raw block dropped) read_env_declaration ['jax'] -> None Both silent, neither raises. add_notebook_quotes.py:67 still tests startswith('"""') and env_config.py:110 still uses ^(?:"""|''')\s*$. No feature/hands-raw-string-docstring-prefix branch exists on the remote, and its own blocker feature/hands-hygiene-leftovers is still open. Two prompt defects found and fixed while re-reading the plan: - The warning sweep is interpreter-dependent. Invalid escapes are a SyntaxWarning only on Python 3.12+; on 3.11 they are a DeprecationWarning. Verified on 3.11.15: a docstring containing $\odot$ yields 0 SyntaxWarning and 1 DeprecationWarning. The prompt's verification gate ("both sweeps return zero") would therefore pass VACUOUSLY on a 3.11 interpreter. Gate and sweep spec now require 3.12+ or both warning categories. - draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md is the same task measured on autolens_workspace alone (2026-08-09) — its 80 warnings across 17 files are exactly the 17 files in the newer survey, top-six counts matching. Marked SUPERSEDED, with its unique content (the interpreter trap, the "do not reword the prose" constraint) carried across. One prompt, one task. Registry entries for both blocked tasks carry the recheck date and evidence. --- ...atex_docstrings_invalid_escape_warnings.md | 17 ++++++- .../workspaces/latex_raw_string_docstrings.md | 48 ++++++++++++++++++- planned.md | 14 ++++++ 3 files changed, 77 insertions(+), 2 deletions(-) diff --git a/draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md b/draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md index b1c011fc..9226ae79 100644 --- a/draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md +++ b/draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md @@ -7,7 +7,22 @@ Repos: Difficulty: small Autonomy: supervised Priority: low -Status: draft — the § "Scope to establish first" measurement is DONE for autolens_workspace (2026-08-09) +Status: SUPERSEDED 2026-08-20 — do not pick this up; see below + +## SUPERSEDED by `draft/maintenance/workspaces/latex_raw_string_docstrings.md` + +Same defect, same fix, wider scope. The 2026-08-20 survey swept all six workspace +repos and found 41 files; the 17 `autolens_workspace` files it lists are exactly +the 17 measured below (top-six warning counts match line for line). It also found +a second, *silent* class this prompt never saw (`\t` in `\theta`, `\f` in +`\frac` — escapes Python DOES recognise, so they corrupt the string with no +warning at all) and a hard PyAutoHands prerequisite. + +Everything unique to this file has been carried across: the interpreter trap +below (§ TRAP) now sits in that prompt's sweep spec and its verification gate, +and the "do not reword the LaTeX or the prose" constraint is in its § Constraints. +Kept for its origin trail (#457 / PR #459) and the 2026-08-09 measurement. + ## 2026-08-09 — the sweep this prompt asks for, run diff --git a/draft/maintenance/workspaces/latex_raw_string_docstrings.md b/draft/maintenance/workspaces/latex_raw_string_docstrings.md index 5e9b0e02..3d4f8456 100644 --- a/draft/maintenance/workspaces/latex_raw_string_docstrings.md +++ b/draft/maintenance/workspaces/latex_raw_string_docstrings.md @@ -49,6 +49,21 @@ than fix them. Both reproduced, neither raises: Do not start this task until that Hands fix has merged. +**Re-verified 2026-08-20 (resumed `/start_dev`): still blocked, still unfixed.** +Against PyAutoHands `main` @ `cdea28c`, on a probe pair differing only by an `r` +on the first narrative docstring: + +- `_narrative_docstring_ranges` → plain `[(0, 2), (6, 10)]` vs raw `[(6, 10)]` + — the raw block is dropped, silently, no exception. +- `read_env_declaration` → plain `['jax']` vs raw `None` — silently, no exception. + +`add_notebook_quotes.py:67` still reads `lines[start].startswith('"""')` and +`env_config.py:110` still reads `^(?:"""|''')\s*$`; neither accepts an `r`/`R` +prefix. No `feature/hands-raw-string-docstring-prefix` branch exists on the +remote yet, and its own blocker (`feature/hands-hygiene-leftovers`) is still +open. Re-run this two-probe check at the next `/start_dev` rather than trusting +this note. + ### Two sweeps are needed, not one `SyntaxWarning` only fires for escapes Python does **not** recognise. The @@ -63,6 +78,17 @@ diagnostic at all — `\t` in `\theta`, `\f` in `\frac`, `\r` in `\rm`, `\b` in segment contains a backslash, flag any control character (`ord < 32`, `\n` excepted) in the *value* — **132 hits**. +**The warning sweep is interpreter-dependent — check this before trusting a +zero.** Invalid escape sequences are a `SyntaxWarning` only on **Python 3.12+**; +on 3.11 and earlier they are a `DeprecationWarning`. A sweep that collects +`SyntaxWarning` on a 3.11 interpreter reports **0 hits** and is +indistinguishable from "already fixed" — verified 2026-08-20 on 3.11.15, where +`compile()` on a docstring containing `$\odot$` yields 0 `SyntaxWarning` and 1 +`DeprecationWarning`. Collect **both** categories, or assert the interpreter is +3.12+ before believing the count. (`-m compileall` needs `-f` too, or +`__pycache__` suppresses recompilation and the counts silently drop.) This +already cost one mis-grade on the 2026-08-09 sweep. + `HowToLens/scripts/chapter_4_scaling_up_lensing/tutorial_5_cluster_scale.py` has **only** silent hits and zero warnings, so a warning-only sweep skips it entirely. Drive the edit off the union of both. @@ -142,9 +168,18 @@ The four matplotlib labels in - `autocti_workspace`, every `*_workspace_test` / `*_workspace_developer`, and `PyAutoFit` / `PyAutoArray` / `PyAutoLens` source: swept, **zero** hits. +## Constraints + +- Docstring content is user-facing tutorial prose. Add the `r` prefix and change + **nothing else** — do not reword the LaTeX or the surrounding sentences. + Prose changes belong to a docs task, not this one. +- Notebooks are regenerated, never hand-edited. + ## Verification per repo (the diff-empty gate) -1. Both sweeps return zero. +1. Both sweeps return zero — on a **3.12+** interpreter, or collecting + `DeprecationWarning` as well (see the interpreter trap above). A zero from a + 3.11 `SyntaxWarning`-only sweep is vacuous and does not clear this gate. 2. Regenerate: `PYTHONPATH=../PyAutoHands/autohands python3 ../PyAutoHands/autohands/generate.py ` (`howtofit`, `howtogalaxy`, `howtolens`, `autofit`, `autogalaxy`, `autolens`). @@ -158,6 +193,17 @@ The four matplotlib labels in Ship as six independent PRs, one per repo. Prose-only, no API surface, so no cross-repo merge ordering. +## Supersedes + +`draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md` +(filed 2026-08-09, split from #457) is the same defect measured on +`autolens_workspace` alone — its 80 warnings across 17 files are exactly the 17 +files listed above, top-six counts matching. This prompt subsumes it across all +six repos and adds the silent-escape class. Its unique content (the interpreter +trap, now folded in above; the "do not reword the LaTeX or the prose while +fixing the escapes" constraint) is carried here. One task, one prompt — pick up +this file, not that one. + ## Follow-up worth filing A `-W error::SyntaxWarning` compile guard in workspace CI, so this cannot diff --git a/planned.md b/planned.md index d7f2421b..04505e47 100644 --- a/planned.md +++ b/planned.md @@ -116,6 +116,10 @@ - classification: library (PyAutoHands) — bug, silent parser defect - suggested-branch: feature/hands-raw-string-docstring-prefix - blocked-by: hands-hygiene-leftovers (using PyAutoHands; worktree dirty, 3 files) +- blocker-recheck: 2026-08-20 — `feature/hands-hygiene-leftovers` still open on the + PyAutoHands remote (main @ cdea28c, last merge #248 markdown-renderings-2a-leftovers), + so this is still blocked and still unfiled. Both defects re-reproduced this pass — + see the latex-raw-string-docstrings entry below for the probe output. - summary: | Two PyAutoHands docstring parsers silently mis-handle an `r"""` opener, and neither raises. `add_notebook_quotes.py:67` tests @@ -147,6 +151,16 @@ - classification: workspace (6 repos) — maintenance, prose-only - suggested-branch: feature/latex-raw-string-docstrings - blocked-by: hands-raw-string-docstring-prefix (raw-stringing before it lands BREAKS the generated notebooks and silently drops 7 `__Env__` declarations) +- blocker-recheck: 2026-08-20 (resumed /start_dev) — STILL BLOCKED. PyAutoHands main @ cdea28c + still carries both defects, reproduced on a probe pair differing only by an `r`: + `_narrative_docstring_ranges` [(0,2),(6,10)] -> [(6,10)] (raw block dropped), and + `read_env_declaration` ['jax'] -> None. Both silent. No fix branch on the remote; + its own blocker `feature/hands-hygiene-leftovers` is still open. No issue filed, no + workspace repo touched. Also folded into the prompt this pass: the Python 3.11-vs-3.12 + warning-class trap (a `SyntaxWarning`-only sweep returns a VACUOUS zero on 3.11 and + would falsely clear the verification gate — verified on 3.11.15), and the supersession + of draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md + (same task, autolens_workspace-only, now marked SUPERSEDED). - summary: | Prefix `r` on every module-level narrative docstring containing LaTeX, in 41 files across 6 workspace repos. The 2026-08-06 prompt named 4 lines in 2 From 48e4a6c33407fc22ec55bb3c76eb340f930af46e Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 20:36:21 +0000 Subject: [PATCH 2/6] =?UTF-8?q?prompt:=20start=20hands-raw-string-docstrin?= =?UTF-8?q?g-prefix=20(#250)=20=E2=80=94=20blocker=20was=20worktree-only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /start_dev on draft/bug/hands/raw_string_docstring_prefix.md, the prerequisite for latex-raw-string-docstrings. The prompt recorded it as blocked by hands-hygiene-leftovers. That blocker is LOCAL WORKTREE CONTENTION, not a code dependency: feature/hands-hygiene-leftovers touches AGENTS.md, generate_release_notes.py, bin/autohands and two unrelated tests — zero overlap with add_notebook_quotes.py or env_config.py. Done in a separate clone, so the two merge in either order and nothing had to wait. Fix and its six regression tests are implemented, verified and pushed on PyAutoHands claude/latex-raw-string-docstrings-9h4ine. Each new test confirmed to fail with the source change reverted. Full suite 14F/337P on the branch vs 14F/331P on main — identical failure sets, all 14 from ipynb-py-convert being unbuildable in this container (CI installs it). Prompt advanced draft/ -> active/; registered in active.md; removed from planned.md. The latex-raw-string-docstrings entry now points at #250 as an in-flight blocker rather than an unfiled prompt. --- active.md | 16 ++++++++ .../hands_raw_string_docstring_prefix.md | 0 planned.md | 40 ++----------------- 3 files changed, 19 insertions(+), 37 deletions(-) rename draft/bug/hands/raw_string_docstring_prefix.md => active/hands_raw_string_docstring_prefix.md (100%) diff --git a/active.md b/active.md index 20e9817e..d6586cb1 100644 --- a/active.md +++ b/active.md @@ -54,6 +54,22 @@ filed the prompt + issue but not this entry, tripping Lifecycle Drift on main. - repos-none-claimed: this entry claims NO repos — one line deliberately, not 2-space bullets. +## hands-raw-string-docstring-prefix +- issue: https://github.com/PyAutoLabs/PyAutoHands/issues/250 +- status: library-dev — fix + tests IMPLEMENTED and pushed; awaiting PR + merge +- prompt: active/hands_raw_string_docstring_prefix.md +- repos: + - PyAutoHands: claude/latex-raw-string-docstrings-9h4ine +- scope-note: the prompt's "blocked by hands-hygiene-leftovers" was LOCAL WORKTREE + contention only, not a code dependency. Verified 2026-08-20: feature/hands-hygiene-leftovers + touches AGENTS.md, generate_release_notes.py, bin/autohands and two unrelated tests — + ZERO overlap with add_notebook_quotes.py / env_config.py. Done in a separate clone, so + the two can merge in either order. +- verification: all 6 new tests confirmed to FAIL with the source change reverted. Full + suite 14F/337P on branch vs 14F/331P on main — identical failure sets, all 14 from + ipynb-py-convert being unbuildable locally (CI installs it). +- blocks: latex-raw-string-docstrings (41 workspace files across 6 repos) + ## hands-hygiene-leftovers - issue: https://github.com/PyAutoLabs/PyAutoHands/issues/249 - session: claude --resume 08f77ea2-bf3a-42f4-a427-e01da3a4ce2d diff --git a/draft/bug/hands/raw_string_docstring_prefix.md b/active/hands_raw_string_docstring_prefix.md similarity index 100% rename from draft/bug/hands/raw_string_docstring_prefix.md rename to active/hands_raw_string_docstring_prefix.md diff --git a/planned.md b/planned.md index 04505e47..e27357e1 100644 --- a/planned.md +++ b/planned.md @@ -8,7 +8,6 @@ - [jax-point-source-point-smoke-sentinel](#jax-point-source-point-smoke-sentinel) - [piemass-potential](#piemass-potential) - [latent-nan-guard-honest-run](#latent-nan-guard-honest-run) -- [hands-raw-string-docstring-prefix](#hands-raw-string-docstring-prefix) - [latex-raw-string-docstrings](#latex-raw-string-docstrings) @@ -109,48 +108,15 @@ - autolens_workspace_test - note: latent/latent_nan_robustness.py PASSES but VACUOUSLY under the smoke profile — TEST_MODE=2 yields only 4 bypass samples, and DISABLE_JAX=1 silently flips its deliberate AnalysisImaging(use_jax=True) to False (PyAutoLens analysis/analysis/dataset.py:89), so the JAX column-masking branch the guard exists to catch is never taken. MultiStartAdam/BlackJAXNUTS precedent. Work = (1) config/build/env_vars.yaml override for `latent/latent_nan_robustness` with unset: [PYAUTO_TEST_MODE, PYAUTO_DISABLE_JAX]; (2) trim the script under the 300s cap. MEASURED: honest run = 412s; PYAUTO_TEST_MODE=1 does NOT help (455s) — Nautilus is NOT the bottleneck (~136s post-fit results update + ~56s latent compute on 100 samples), so the lever is sample count. Script is in the curated smoke_tests.txt, which DOES read env_vars.yaml, so this lands in the per-PR gate. Adjacent to the blocker's own follow-up ("re-time the SLOW siblings"). NOT bugs, verified passing from clean output, no change needed: imaging/model_fit.py and latent/latent_variables_smoke.py. -## hands-raw-string-docstring-prefix -- prompt: draft/bug/hands/raw_string_docstring_prefix.md -- issue: NOT YET FILED — file at `/start_dev` time, once `hands-hygiene-leftovers` is close to shipping -- planned: 2026-08-20 -- classification: library (PyAutoHands) — bug, silent parser defect -- suggested-branch: feature/hands-raw-string-docstring-prefix -- blocked-by: hands-hygiene-leftovers (using PyAutoHands; worktree dirty, 3 files) -- blocker-recheck: 2026-08-20 — `feature/hands-hygiene-leftovers` still open on the - PyAutoHands remote (main @ cdea28c, last merge #248 markdown-renderings-2a-leftovers), - so this is still blocked and still unfiled. Both defects re-reproduced this pass — - see the latex-raw-string-docstrings entry below for the probe output. -- summary: | - Two PyAutoHands docstring parsers silently mis-handle an `r"""` opener, and - neither raises. `add_notebook_quotes.py:67` tests - `lines[start].startswith('"""')`, so an r-string narrative block is dropped - as a cell boundary and the tutorial prose ships as a Python CODE cell. - `env_config.py:110` (`_DOCSTRING_DELIM_RE = ^(?:"""|''')\s*$`) misses the - opener, then matches the block's CLOSER as an opener — parity inverts for - the rest of the file and `read_env_declaration` returns None instead of the - declared tokens. - - BOTH REPRODUCED 2026-08-20 on probe files: `_narrative_docstring_ranges` - returned only the plain block, and `read_env_declaration` gave `['jax']` for - a plain file vs `None` for the same file with an `r` on an earlier - docstring. Zero `r"""` narrative docstrings exist in any workspace today, - which is why this has never fired. - - Fix is two lines plus tests: accept an optional `r`/`R` prefix at both - sites. `generate_markdown.script_title` and `navigator.py` were checked and - are NOT affected (the former's regex finds the `"""` after the `r`; the - latter reads already-converted `'''` output). -- blocks: latex-raw-string-docstrings (41 workspace files cannot be raw-stringed until this lands) -- affected-repos: - - PyAutoHands - ## latex-raw-string-docstrings - prompt: draft/maintenance/workspaces/latex_raw_string_docstrings.md - issue: NOT YET FILED — file at `/start_dev` time, after hands-raw-string-docstring-prefix merges - planned: 2026-08-20 - classification: workspace (6 repos) — maintenance, prose-only - suggested-branch: feature/latex-raw-string-docstrings -- blocked-by: hands-raw-string-docstring-prefix (raw-stringing before it lands BREAKS the generated notebooks and silently drops 7 `__Env__` declarations) +- blocked-by: hands-raw-string-docstring-prefix — now IN FLIGHT as PyAutoHands#250, + branch claude/latex-raw-string-docstrings-9h4ine, fix + 6 regression tests pushed and + awaiting merge. Unblocks the moment that merges; nothing else gates this task. - blocker-recheck: 2026-08-20 (resumed /start_dev) — STILL BLOCKED. PyAutoHands main @ cdea28c still carries both defects, reproduced on a probe pair differing only by an `r`: `_narrative_docstring_ranges` [(0,2),(6,10)] -> [(6,10)] (raw block dropped), and From 5e62927c9bc3863f91c112c53c150192fe4bdfbf Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 21:10:21 +0000 Subject: [PATCH 3/6] =?UTF-8?q?prompt:=20ship=20hands-raw-string-docstring?= =?UTF-8?q?-prefix=20(#250)=20=E2=80=94=20latex=20task=20unblocked?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PyAutoHands PR #251 merged (c887290), all 3 CI matrix jobs green (pytest 3.12/3.13/3.14). Both docstring parsers now accept an optional r/R prefix. Prompt advanced active/ -> complete/2026/08/; removed from active.md; index regenerated. The latex-raw-string-docstrings entry in planned.md is now marked UNBLOCKED and the prompt's own BLOCKED BY section is struck through. Traps recorded for whoever picks up the workspace task: - the recorded blocker (hands-hygiene-leftovers) was worktree contention, not a code dependency — zero file overlap, verified - the parity case is the test that matters: read_env_declaration breaks when the raw docstring is NOT the one carrying the declaration - do NOT run black on PyAutoHands; it is not black-formatted (44 files on main) - ipynb-py-convert will not build in a container; assert on converted source --- active.md | 16 ------- .../08/hands-raw-string-docstring-prefix.md | 47 +++++++++++++++++++ complete/index.md | 3 +- .../workspaces/latex_raw_string_docstrings.md | 9 +++- planned.md | 8 ++-- 5 files changed, 61 insertions(+), 22 deletions(-) rename active/hands_raw_string_docstring_prefix.md => complete/2026/08/hands-raw-string-docstring-prefix.md (53%) diff --git a/active.md b/active.md index d6586cb1..20e9817e 100644 --- a/active.md +++ b/active.md @@ -54,22 +54,6 @@ filed the prompt + issue but not this entry, tripping Lifecycle Drift on main. - repos-none-claimed: this entry claims NO repos — one line deliberately, not 2-space bullets. -## hands-raw-string-docstring-prefix -- issue: https://github.com/PyAutoLabs/PyAutoHands/issues/250 -- status: library-dev — fix + tests IMPLEMENTED and pushed; awaiting PR + merge -- prompt: active/hands_raw_string_docstring_prefix.md -- repos: - - PyAutoHands: claude/latex-raw-string-docstrings-9h4ine -- scope-note: the prompt's "blocked by hands-hygiene-leftovers" was LOCAL WORKTREE - contention only, not a code dependency. Verified 2026-08-20: feature/hands-hygiene-leftovers - touches AGENTS.md, generate_release_notes.py, bin/autohands and two unrelated tests — - ZERO overlap with add_notebook_quotes.py / env_config.py. Done in a separate clone, so - the two can merge in either order. -- verification: all 6 new tests confirmed to FAIL with the source change reverted. Full - suite 14F/337P on branch vs 14F/331P on main — identical failure sets, all 14 from - ipynb-py-convert being unbuildable locally (CI installs it). -- blocks: latex-raw-string-docstrings (41 workspace files across 6 repos) - ## hands-hygiene-leftovers - issue: https://github.com/PyAutoLabs/PyAutoHands/issues/249 - session: claude --resume 08f77ea2-bf3a-42f4-a427-e01da3a4ce2d diff --git a/active/hands_raw_string_docstring_prefix.md b/complete/2026/08/hands-raw-string-docstring-prefix.md similarity index 53% rename from active/hands_raw_string_docstring_prefix.md rename to complete/2026/08/hands-raw-string-docstring-prefix.md index ddf26615..2514fb16 100644 --- a/active/hands_raw_string_docstring_prefix.md +++ b/complete/2026/08/hands-raw-string-docstring-prefix.md @@ -1,3 +1,50 @@ +- issue: https://github.com/PyAutoLabs/PyAutoHands/issues/250 (closed on merge) +- shipped: 2026-08-20 — PyAutoHands PR https://github.com/PyAutoLabs/PyAutoHands/pull/251 + (merge `c887290`, commit `27c828c`); all 3 CI matrix jobs green (pytest 3.12/3.13/3.14). +- classification: bug (PyAutoHands) — silent parser defect, two sites. +- summary: two independent docstring parsers silently mis-handled an `r"""` opener, and + neither raised. `add_notebook_quotes._narrative_docstring_ranges` tested + `lines[start].startswith('"""')`; a raw block is a perfectly good column-0 + `ast.Expr(Constant(str))`, so it reached that test and failed it — the block was dropped + as a cell boundary and the tutorial prose would have shipped as a Python CODE cell + containing a bare string literal. `env_config._DOCSTRING_DELIM_RE` matched a bare + delimiter only, so an `r"""` opener was walked past and the block's CLOSER matched as an + opener instead — docstring parity inverted for the rest of the file and an `__Env__` + section further down was read as if outside a docstring, so `read_env_declaration` + returned `None` and the script's smoke env profile was silently rerouted. Both sites now + accept an optional `r`/`R` prefix on either delimiter + (`_TRIPLE_DELIM_OPENER_RE`, `_DOCSTRING_DELIM_RE`). Unblocks latex-raw-string-docstrings + (41 workspace files across 6 repos). +- validation: 6 new regression tests, EACH verified to fail with the source change reverted + and pass with it. Full suite 14F/337P on branch vs 14F/331P on main — identical failure + sets, all 14 from `ipynb-py-convert` being unbuildable in the container (CI installs it, + and CI ran green on all three Python versions). +- key traps: + - **The recorded blocker was not real.** The prompt said "blocked by hands-hygiene-leftovers + (worktree dirty)". That was LOCAL WORKTREE CONTENTION, not a code dependency: + `feature/hands-hygiene-leftovers` touches AGENTS.md, generate_release_notes.py, + bin/autohands and two unrelated tests — ZERO overlap with the two files here. Done in a + separate clone; the two merge in either order. Read a blocker before honouring it. + - **The parity case is the test that matters.** `read_env_declaration` breaks when the raw + docstring is NOT the one carrying the declaration — a single-block test passes while the + defect is live. Test an EARLIER raw docstring. + - **Do not run `black` on this repo.** It is not black-formatted: 44 files on main would + reformat. Match surrounding style instead. + - `ipynb-py-convert` will not build in a modern container, so the 14 notebook-level tests + cannot run locally. Assert on the CONVERTED SOURCE instead — the converter replaces the + opener line outright, so byte-identical conversion is the tighter claim and needs no + external tool. + - Checked and NOT affected, verified rather than assumed: `generate_markdown.script_title` + (its regex finds the `"""` after the `r` — same title either way) and `navigator.py` + (reads already-converted output). Boundary set confirmed not to have widened: column-0 + raw single-quoted strings, assigned literals, raw bytes literals and f-strings all + remain non-boundaries. + - `pyauto-brain bug` mis-read this task: "owner unresolved", sized *large*, + "split into phases", for a two-line fix in a repo the prompt names in its header. + Worth a look at the Bug Agent's owner map for `hands`. + +## Original prompt + # Teach the notebook/env parsers to accept raw-string (`r"""`) docstrings Type: bug diff --git a/complete/index.md b/complete/index.md index 9482cad5..bc56e428 100644 --- a/complete/index.md +++ b/complete/index.md @@ -6,7 +6,7 @@ Token-light navigation over the finished-work records (schema: only then grep a dated bucket. Curators: edit the band between the CURATED markers; everything below GENERATED is rebuilt. -1060 records across 7 buckets. +1061 records across 7 buckets. ## Highlights @@ -69,6 +69,7 @@ _(curate hard-won records here — survives regeneration.)_ - [folder-list-ref-drift-sweep](2026/08/folder-list-ref-drift-sweep.md) — Fixed the 12 real defects from the 2026-08-19 hygiene refs scan — 2 autoCTI_workspace/output casing refs, 2 ho… - [frozen-lane-counter](2026/08/frozen-lane-counter.md) — Added a third disjoint lane counter to the multi-start gradient search - [group-data-preparation-readme](2026/08/group-data-preparation-readme.md) +- [hands-raw-string-docstring-prefix](2026/08/hands-raw-string-docstring-prefix.md) — closed on merge - [hazard-profiling-likelihood-tier](2026/08/hazard-profiling-likelihood-tier.md) — Tier-2 likelihood profiling landed with five persistent findings and corrected NNLS continuity semantics. - [health-conductor-stale-verdict](2026/08/health-conductor-stale-verdict.md) - [heart-green-validation-ingest](2026/08/heart-green-validation-ingest.md) diff --git a/draft/maintenance/workspaces/latex_raw_string_docstrings.md b/draft/maintenance/workspaces/latex_raw_string_docstrings.md index 3d4f8456..cae959a4 100644 --- a/draft/maintenance/workspaces/latex_raw_string_docstrings.md +++ b/draft/maintenance/workspaces/latex_raw_string_docstrings.md @@ -33,7 +33,12 @@ corner of the problem, and found a hard dependency the prompt did not know about. Both sweeps are ~20 lines each and specified below — rebuild them rather than trusting these counts blind. -### BLOCKED BY: `draft/bug/hands/raw_string_docstring_prefix.md` +### ~~BLOCKED BY~~ — CLEARED 2026-08-20 + +The PyAutoHands prerequisite **merged**: issue #250 / PR #251 (merge `c887290`), all 3 +CI matrix jobs green. Both parsers accept `r`/`R` prefixes now, verified on `main`. This +task is ready to start. History of the block, kept because it explains the gate below: + Two PyAutoHands docstring parsers **silently** mis-handle an `r"""` opener, so raw-stringing these scripts today would break the generated artefacts rather @@ -47,7 +52,7 @@ than fix them. Both reproduced, neither raises: `.../potential_correction/`), so their smoke env profile would be silently rerouted. -Do not start this task until that Hands fix has merged. +~~Do not start this task until that Hands fix has merged.~~ It has. **Re-verified 2026-08-20 (resumed `/start_dev`): still blocked, still unfixed.** Against PyAutoHands `main` @ `cdea28c`, on a probe pair differing only by an `r` diff --git a/planned.md b/planned.md index e27357e1..83c215a5 100644 --- a/planned.md +++ b/planned.md @@ -114,9 +114,11 @@ - planned: 2026-08-20 - classification: workspace (6 repos) — maintenance, prose-only - suggested-branch: feature/latex-raw-string-docstrings -- blocked-by: hands-raw-string-docstring-prefix — now IN FLIGHT as PyAutoHands#250, - branch claude/latex-raw-string-docstrings-9h4ine, fix + 6 regression tests pushed and - awaiting merge. Unblocks the moment that merges; nothing else gates this task. +- UNBLOCKED 2026-08-20: the PyAutoHands prerequisite MERGED — #250 / PR #251 (merge `c887290`), + all 3 CI matrix jobs green. Both parsers now accept `r`/`R` prefixes, verified on main. + Nothing gates this task; it is ready for /start_dev. +- see: complete/2026/08/hands-raw-string-docstring-prefix.md (traps worth reading first — + notably that `ipynb-py-convert` will not build in a container, and do NOT run black here) - blocker-recheck: 2026-08-20 (resumed /start_dev) — STILL BLOCKED. PyAutoHands main @ cdea28c still carries both defects, reproduced on a probe pair differing only by an `r`: `_narrative_docstring_ranges` [(0,2),(6,10)] -> [(6,10)] (raw block dropped), and From 7b71026f5039eda97c36df5a7f40111454e0eb9b Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 21:39:34 +0000 Subject: [PATCH 4/6] prompt: implement latex-raw-string-docstrings (#491) across all 6 workspace repos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 41 files, 180 literals, 131 silent corruptions repaired — 41 files matches the 2026-08-20 survey exactly. Pushed on claude/latex-raw-string-docstrings-9h4ine in HowToFit, HowToGalaxy, HowToLens, autofit_workspace, autogalaxy_workspace and autolens_workspace. PRs not yet opened. Verification per repo, in order: baseline regeneration is a NO-OP (so generator noise cannot fake the gate); both sweeps zero; runtime value check = 131 repaired / 0 unexpected; diff-empty gate passes byte-exactly. autolens_workspace additionally re-reads all 57 __Env__ declarations identically, and 4 of the raw-stringed files carry __Env__, exercising PyAutoHands#251 end to end. Two findings the survey did not have: - The runtime VALUE check is the gate that actually catches mistakes. The diff-empty gate cannot see them: the generator reads source text, not runtime values, so a corrupted value regenerates identically. The value check caught two real errors mid-task — a `print("\nInfo:")` newline about to be destroyed, and 12 already-escaped `$\\chi^2$` about to be doubled into LaTeX line breaks. - The gate needs one refinement. HowToFit's 4 `plt.ylabel` labels are runtime strings in CODE cells, which copy source verbatim, so the `r` legitimately appears in the notebook. The gate holds exactly as written for every docstring; that one code-cell delta is by design, not a Hands regression. Residue recorded: autolens_workspace scripts/group/likelihood_function.py uses the double-backslash convention in three docstrings mixed with single-backslash macros. Adding `r` would double the already-correct escapes; fixing it means un-doubling 18 backslashes, a prose edit this task excludes. --- active.md | 28 +++++++++ .../latex_raw_string_docstrings.md | 0 planned.md | 63 ------------------- 3 files changed, 28 insertions(+), 63 deletions(-) rename {draft/maintenance/workspaces => active}/latex_raw_string_docstrings.md (100%) diff --git a/active.md b/active.md index 20e9817e..bef6ee68 100644 --- a/active.md +++ b/active.md @@ -1,5 +1,33 @@ # Active Tasks +## latex-raw-string-docstrings +- issue: https://github.com/PyAutoLabs/autolens_workspace/issues/491 +- status: workspace-dev — IMPLEMENTED and pushed in all 6 repos; PRs NOT yet opened +- prompt: active/latex_raw_string_docstrings.md +- repos (all on branch claude/latex-raw-string-docstrings-9h4ine): + - HowToFit: 4 files, 13 literals, 7 corruptions repaired + - HowToGalaxy: 4 files, 20 literals, 13 repaired + - HowToLens: 8 files, 32 literals, 21 repaired + - autofit_workspace: 2 files, 2 literals, 1 repaired + - autogalaxy_workspace: 6 files, 30 literals, 28 repaired + - autolens_workspace: 17 files, 83 literals, 61 repaired +- totals: 41 files, 180 literals, 131 corruptions repaired — 41 matches the survey exactly. +- verification (per repo, in order): baseline regeneration is a NO-OP; both sweeps zero; + runtime value check (every changed literal's value compared HEAD vs worktree — the prefix + may only REMOVE corruption) = 131 repaired / 0 unexpected; diff-empty gate passes + byte-exactly on notebooks/ markdown/ llms-full.txt workspace_index.json. autolens_workspace + additionally: all 57 __Env__ declarations re-read IDENTICALLY, and 4 of the raw-stringed + files carry __Env__, so the PyAutoHands#251 fix is exercised end to end. +- gate refinement: HowToFit's 4 `plt.ylabel` labels are runtime strings in CODE cells, which + copy source verbatim, so the `r` legitimately shows there. The gate holds exactly as written + for every docstring; that one code-cell delta is by design. +- residue: autolens_workspace scripts/group/likelihood_function.py keeps 2 warned + 1 silent. + Three docstrings use the DOUBLE-backslash convention ($\\theta$, \\frac, \\vec) mixed with + single-backslash macros; adding `r` would double the correct ones. Needs a convention + decision + un-doubling 18 backslashes = a prose edit this task excludes. Follow-up. +- follow-up to file: -W error::SyntaxWarning compile guard in workspace CI (catches only the + warned class; the silent class needs the AST sweep). + ## numba-cpu-likelihood-profiling - issue: https://github.com/PyAutoLabs/autolens_profiling/issues/151 - pr: https://github.com/PyAutoLabs/autolens_profiling/pull/152 diff --git a/draft/maintenance/workspaces/latex_raw_string_docstrings.md b/active/latex_raw_string_docstrings.md similarity index 100% rename from draft/maintenance/workspaces/latex_raw_string_docstrings.md rename to active/latex_raw_string_docstrings.md diff --git a/planned.md b/planned.md index 83c215a5..cc0de759 100644 --- a/planned.md +++ b/planned.md @@ -8,7 +8,6 @@ - [jax-point-source-point-smoke-sentinel](#jax-point-source-point-smoke-sentinel) - [piemass-potential](#piemass-potential) - [latent-nan-guard-honest-run](#latent-nan-guard-honest-run) -- [latex-raw-string-docstrings](#latex-raw-string-docstrings) @@ -108,65 +107,3 @@ - autolens_workspace_test - note: latent/latent_nan_robustness.py PASSES but VACUOUSLY under the smoke profile — TEST_MODE=2 yields only 4 bypass samples, and DISABLE_JAX=1 silently flips its deliberate AnalysisImaging(use_jax=True) to False (PyAutoLens analysis/analysis/dataset.py:89), so the JAX column-masking branch the guard exists to catch is never taken. MultiStartAdam/BlackJAXNUTS precedent. Work = (1) config/build/env_vars.yaml override for `latent/latent_nan_robustness` with unset: [PYAUTO_TEST_MODE, PYAUTO_DISABLE_JAX]; (2) trim the script under the 300s cap. MEASURED: honest run = 412s; PYAUTO_TEST_MODE=1 does NOT help (455s) — Nautilus is NOT the bottleneck (~136s post-fit results update + ~56s latent compute on 100 samples), so the lever is sample count. Script is in the curated smoke_tests.txt, which DOES read env_vars.yaml, so this lands in the per-PR gate. Adjacent to the blocker's own follow-up ("re-time the SLOW siblings"). NOT bugs, verified passing from clean output, no change needed: imaging/model_fit.py and latent/latent_variables_smoke.py. -## latex-raw-string-docstrings -- prompt: draft/maintenance/workspaces/latex_raw_string_docstrings.md -- issue: NOT YET FILED — file at `/start_dev` time, after hands-raw-string-docstring-prefix merges -- planned: 2026-08-20 -- classification: workspace (6 repos) — maintenance, prose-only -- suggested-branch: feature/latex-raw-string-docstrings -- UNBLOCKED 2026-08-20: the PyAutoHands prerequisite MERGED — #250 / PR #251 (merge `c887290`), - all 3 CI matrix jobs green. Both parsers now accept `r`/`R` prefixes, verified on main. - Nothing gates this task; it is ready for /start_dev. -- see: complete/2026/08/hands-raw-string-docstring-prefix.md (traps worth reading first — - notably that `ipynb-py-convert` will not build in a container, and do NOT run black here) -- blocker-recheck: 2026-08-20 (resumed /start_dev) — STILL BLOCKED. PyAutoHands main @ cdea28c - still carries both defects, reproduced on a probe pair differing only by an `r`: - `_narrative_docstring_ranges` [(0,2),(6,10)] -> [(6,10)] (raw block dropped), and - `read_env_declaration` ['jax'] -> None. Both silent. No fix branch on the remote; - its own blocker `feature/hands-hygiene-leftovers` is still open. No issue filed, no - workspace repo touched. Also folded into the prompt this pass: the Python 3.11-vs-3.12 - warning-class trap (a `SyntaxWarning`-only sweep returns a VACUOUS zero on 3.11 and - would falsely clear the verification gate — verified on 3.11.15), and the supersession - of draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md - (same task, autolens_workspace-only, now marked SUPERSEDED). -- summary: | - Prefix `r` on every module-level narrative docstring containing LaTeX, in - 41 files across 6 workspace repos. The 2026-08-06 prompt named 4 lines in 2 - repos; the 2026-08-20 survey found the real surface. - - TWO sweeps are required, not one. `SyntaxWarning` fires only for escapes - Python does NOT recognise (171 hits). The ones it DOES recognise fire - silently and corrupt the string with no diagnostic — `\t` in `\theta`, `\f` - in `\frac`, `\r` in `\rm`, `\b` in `\beta`, `\a` in `\alpha`, `\v` in - `\vec` (132 hits). HowToLens chapter_4 tutorial_5_cluster_scale.py has ONLY - silent hits and zero warnings, so a warning-only sweep skips it. Drive the - edit off the UNION. - - Per-repo file counts: HowToFit 4, HowToGalaxy 4, HowToLens 8, - autofit_workspace 2, autogalaxy_workspace 6, autolens_workspace 17. Full - per-file list with counts is in the prompt. - - Notebooks are NOT currently corrupt — the generator reads source text, not - runtime values — so this is warning noise plus latent breakage, not a - shipped-artefact bug. - - VERIFICATION GATE: after regenerating each repo - (`PYTHONPATH=../PyAutoHands/autohands python3 - ../PyAutoHands/autohands/generate.py `), `git diff notebooks/ - markdown/ llms-full.txt workspace_index.json` MUST be empty — the generator - swaps the delimiter for `'''` either way, so a non-empty diff means the - Hands prerequisite is incomplete. - - EXCLUDED: `autolens_workspace/dataset/cluster/a2744/prep.py:38` is a genuine - TSV tab, not LaTeX. Also excluded, and worth a separate library prompt: - PyAutoGalaxy (4 warnings) and PyAutoCTI (19) carry the same defect in - source, but need ship_library + a pending-release gate. autocti_workspace, - every *_workspace_test / *_workspace_developer, and PyAutoFit / PyAutoArray - / PyAutoLens source were swept and are clean. -- affected-repos: - - HowToFit - - HowToGalaxy - - HowToLens - - autofit_workspace - - autogalaxy_workspace - - autolens_workspace From aef03f7237aab1620d10df2e37c553df824af74f Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 22:31:05 +0000 Subject: [PATCH 5/6] prompt: 5 of 6 latex-raw-string-docstrings PRs merged; HowToLens held red MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merged: HowToFit#47, HowToGalaxy#70, autofit_workspace#145, autogalaxy_workspace#218, autolens_workspace#492 — all green, including the CI 'Catalogue staleness' check, which independently re-confirms the regeneration gate this task was verified against locally. HowToLens#73 is held RED rather than merged. Two chapter_3 pixelization scripts fail numba type inference; neither is in the diff, all 8 files that ARE in it pass, and the failure reproduces identically on one re-run. Prime suspect is PyAutoArray#453 on timing and code area, but two specific mechanisms were tested under the exact CI versions and both passed, so no mechanism is proven. A control re-run of the last GREEN main build is in flight to settle it. --- active.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/active.md b/active.md index bef6ee68..a23155e6 100644 --- a/active.md +++ b/active.md @@ -2,7 +2,24 @@ ## latex-raw-string-docstrings - issue: https://github.com/PyAutoLabs/autolens_workspace/issues/491 -- status: workspace-dev — IMPLEMENTED and pushed in all 6 repos; PRs NOT yet opened +- status: workspace-dev — 5 of 6 PRs MERGED; HowToLens#73 held RED (not this PR's failure) +- issue-umbrella: autolens_workspace#491 (one issue, six PRs) +- merged: HowToFit#47, HowToGalaxy#70, autofit_workspace#145, autogalaxy_workspace#218, + autolens_workspace#492 — all green, incl. the CI 'Catalogue staleness' check, which + independently re-confirms the regeneration gate. +- BLOCKED: HowToLens#73 red on smoke (3.12 + 3.13). Two scripts fail with numba + 'Pass nopython_type_inference': chapter_3_pixelizations/tutorial_8_adaptive_pixelization.py + and tutorial_11_brightness_adaption.py. NEITHER is in the diff, and all 8 files that ARE + in it pass. Reproduced identically on one re-run. A docstring r-prefix cannot cause a numba + typing error. Prime suspect: PyAutoArray#453 (in-place Cholesky buffer + new numba kernels + for fnnls_cholesky) merged 2026-08-20 22:09:30 UTC, minutes before this run; CI installs + autoarray from source at HEAD, and the last green HowToLens main run (04:29 UTC) predates + it. NOT yet proven: two specific mechanisms were tested and BOTH passed under the exact CI + versions (numba 0.67.0 + scipy 1.17.1) — a strided Ubuf view into _cholupdate, and the new + np.dot inside _cho_solve_buffer. So the suspicion rests on timing + code area, not a + reproduced mechanism. Control experiment running: re-run of the last GREEN main build + (same commit, fresh dependency install) — if it now fails the same way, the break is on + main/library drift and this PR is clean. - prompt: active/latex_raw_string_docstrings.md - repos (all on branch claude/latex-raw-string-docstrings-9h4ine): - HowToFit: 4 files, 13 literals, 7 corruptions repaired From dc6fbb81a872d70aad8112ff0069f9ad3f2e3fe4 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 22:40:24 +0000 Subject: [PATCH 6/6] mind: regenerate dashboard after the latex-raw-string-docstrings registry moves The refresh check caught it: active.md and planned.md changed without the generated dashboard being regenerated, which AGENTS.md requires after any registry or draft/ change. --- dashboard.html | 17 ++++++-------- dashboard.md | 62 +++++++++++++------------------------------------- 2 files changed, 23 insertions(+), 56 deletions(-) diff --git a/dashboard.html b/dashboard.html index 62038921..7de4b0ee 100644 --- a/dashboard.html +++ b/dashboard.html @@ -38,7 +38,7 @@

📋 PyAutoMind Dashboard

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 5 · Parked 3 · Planned 8 · Backlog 147 · markdown version

+

In flight 6 · Parked 3 · Planned 6 · Backlog 145 · markdown version

Start here

Highest priority (filed as high) — showing 12 of 33

TRIAGE: needs manual review before routingmedium · safe · high

@@ -54,12 +54,13 @@

Highest priority (filed as high) — showing 12 of 33

Profile and speed up JAX likelihood-function compile times (all useautolens_profiling · large · supervised · high

Give the Profiling Agent a compile-time axis — the arcprofiling · large · supervised · high

Quick wins (small enough, and safe enough to run unattended)

- +

(none right now)

In flight markdown version

Issued — each has an open GitHub issue and usually a branch.

@PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract

Make JAX a default (non-optional) dependency across the library stackissue #702shipped-awaiting-release-followups — ALL ELEVEN PRs merged 2026-08-19 (human-authorized):

+

Raw-string the LaTeX docstrings across the six workspace reposissue #491workspace-dev — 5 of 6 PRs MERGED; HowToLens#73 held RED (not this PR's failure)

Profiling infrastructure for the numba CPU sparse-operator likelihoodissue #151awaiting-merge — infra + Rectangular euclid/hst pass + Delaunay euclid pass on PR #152

Refresh the stale .script_sizes.json snapshot in @autolens_workspaceissue #490workspace-dev — PLANNED ONLY, NOT STARTED. Plan approved and filed on #490;

Epics markdown version

@@ -76,20 +77,18 @@

Parked markdown version

-8 task(s) +6 task(s)

isothermal-ell-sph-oversampling-at-the-cuspplanned — NOT yet a prompt file; file one via /intake before starting

remote-mcp-deployment-tiersissue #20DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP…

samples-parameter-pathsissue #1327parked

jax-point-source-point-smoke-sentinelplanned

piemass-potentialplanned

latent-nan-guard-honest-run

-

hands-raw-string-docstring-prefix

-

latex-raw-string-docstrings

Backlog markdown version

-

147 filed prompts, not started — sorted most-pickable first (priority, then size).

+

145 filed prompts, not started — sorted most-pickable first (priority, then size).

-bug — 37 +bug — 36

EP hierarchical parent-scale collapse: cure the basin, or document theautofit · too-large · human-required · high

@@ -101,7 +100,6 @@

Backlog

Fix release result/sample parameter-path regressionshealth_fixes · too-large · supervised · high

pixel_scales given as an int (or np.float64) is never widenedautoarray · small · supervised · medium

-

Heart script_timing baselines are orphaned by path moves and filledpyautoheart · small · supervised · medium

jax_grad scripts fail assertions locally that PASS in CIautolens_workspace_test · medium · supervised · medium

PyNUFFT dev extra is incompatible with current SciPy on Pythonautoarray · small · supervised · normal

@@ -195,7 +193,7 @@

Backlog

Adopt Python 3.12 as the PyAuto ecosystem minimumlibraries

-maintenance — 18 +maintenance — 17

autolens_workspace_developer rectangular experiments — Gut stash + renameautolens_workspace_developer · small · supervised · normal

Mirror drifted library config keys into the workspace configsworkspaces · small · supervised · normal

Un-park imaging/features/scaling_relation/slam once PyAutoArray#431 mergesworkspaces · small · supervised · normal

@@ -212,7 +210,6 @@

Backlog

cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB ofautolens_workspace · small · supervised · low

LaTeX in non-raw docstrings emits SyntaxWarning: invalid escape sequenceautolens_workspace · small · supervised · low

-

Raw-string the LaTeX docstrings across the six workspace reposworkspaces · medium · safe · low

Refactor Agent witness map lacks PyAutoNerves test suitepyautobrain · low · safe · low

diff --git a/dashboard.md b/dashboard.md index e4ebaf18..1bfa52b5 100644 --- a/dashboard.md +++ b/dashboard.md @@ -8,10 +8,10 @@ Every task the Mind is holding, on one page: what is in flight, what is parked, | Where | Count | |-------|------:| -| [In flight](#in-flight) (`active/`) | 5 | +| [In flight](#in-flight) (`active/`) | 6 | | [Parked](#parked) (`parked.md`) | 3 | -| [Planned](#planned) (`planned.md`) | 8 | -| [Backlog](#backlog) (`draft/`) | 147 | +| [Planned](#planned) (`planned.md`) | 6 | +| [Backlog](#backlog) (`draft/`) | 145 | ## Start here @@ -115,13 +115,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked, **Quick wins** (small enough, and safe enough to run unattended) -
📋 Teach the notebook/env parsers to accept raw-string (r""") docstrings — hands · small · safe · medium - -``` -/start_dev draft/bug/hands/raw_string_docstring_prefix.md -``` - -
+- _(none right now)_ ## In flight @@ -151,6 +145,14 @@ Issued — each has an open GitHub issue and usually a branch. The full record f
+
📋 Raw-string the LaTeX docstrings across the six workspace reposissue #491 — workspace-dev — 5 of 6 PRs MERGED; HowToLens#73 held RED (not this PR's failure) + +``` +/start_dev active/latex_raw_string_docstrings.md +``` + +
+
📋 Profiling infrastructure for the numba CPU sparse-operator likelihoodissue #151 — awaiting-merge — infra + Rectangular euclid/hst pass + Delaunay euclid pass on PR #152 ``` @@ -233,7 +235,7 @@ Started or scoped, not currently in flight — resume by moving the row back to Scoped but not started; some are not yet prompt files. Full detail in [`planned.md`](planned.md).
-8 task(s) +6 task(s)
📋 isothermal-ell-sph-oversampling-at-the-cusp — planned — NOT yet a prompt file; file one via /intake before starting @@ -283,30 +285,14 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 hands-raw-string-docstring-prefix - -``` -/start_dev draft/bug/hands/raw_string_docstring_prefix.md -``` - -
- -
📋 latex-raw-string-docstrings - -``` -/start_dev draft/maintenance/workspaces/latex_raw_string_docstrings.md -``` - -
-
## Backlog -**147** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). +**145** filed prompts, not started. Each section is sorted most-pickable first (priority, then size).
-bug — 37 +bug — 36
📋 Numba sparse-operator likelihood: first-call garbage / intermittent worker corruption — autoarray · medium · supervised · high @@ -396,14 +382,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Teach the notebook/env parsers to accept raw-string (r""") docstrings — hands · small · safe · medium - -``` -/start_dev draft/bug/hands/raw_string_docstring_prefix.md -``` - -
-
📋 Heart script_timing baselines are orphaned by path moves and filled — pyautoheart · small · supervised · medium ``` @@ -1097,7 +1075,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-maintenance — 18 +maintenance — 17
📋 autolens_workspace_developer rectangular experiments — Gut stash + rename — autolens_workspace_developer · small · supervised · normal @@ -1227,14 +1205,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Raw-string the LaTeX docstrings across the six workspace repos — workspaces · medium · safe · low - -``` -/start_dev draft/maintenance/workspaces/latex_raw_string_docstrings.md -``` - -
-
📋 Refactor Agent witness map lacks PyAutoNerves test suite — pyautobrain · low · safe · low ```