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
34 changes: 0 additions & 34 deletions active/fix_workspace_start_here_colab_links.md

This file was deleted.

8 changes: 0 additions & 8 deletions active/workspace_version.md

This file was deleted.

83 changes: 83 additions & 0 deletions complete/2026/07/fix-workspace-start-here-colab-links.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# fix-workspace-start-here-colab-links

- shipped: 2026-07-24
- commit: autolens_workspace `897465a6` — "docs: link Colab introduction to workspace start"
- repos:
- autolens_workspace (verified)
- autogalaxy_workspace / PyAutoLens / PyAutoGalaxy / euclid_strong_lens_modeling_pipeline (in the prompt's scope, NOT verified here — see below)

## Summary

The "try PyAutoLens in a web browser without installing it" Colab links pointed
at the topic-specific `notebooks/imaging/start_here.ipynb` rather than the
workspace's own root `start_here.ipynb`, dropping new users into the imaging
tutorial instead of the overall introduction.

Verified on `autolens_workspace` `main`, `README.md`:

```
- [PyAutoLens on Google Colab](https://colab.research.google.com/github/PyAutoLabs/autolens_workspace/blob/<tag>/start_here.ipynb): try PyAutoLens in a web browser without installing it.
```

and the "New Users" section link below it, both now resolving to the root
notebook. The tag component is kept current by the release job's
"bump Colab URL tag refs" step.

The topic-specific links in `start_here.py` (`imaging/start_here.ipynb`,
`interferometer/`, `point_source/`, `group/`, `cluster/`) are **correctly left
pointing at their own notebooks** — the prompt explicitly asked to preserve
links that describe the imaging-specific tutorial, and those are a deliberate
directory listing.

## Scope caveat — do not read this as fully verified

The prompt named five repos. Only `autolens_workspace` was checked when this
record was reconstructed. The PyAutoGalaxy side was called out in the original
request ("this is prob required for PyAutoGalaxy too") and has **not** been
confirmed here. If a stale introductory Colab link turns up in
`autogalaxy_workspace`, the PyAutoLens/PyAutoGalaxy docs, or
`euclid_strong_lens_modeling_pipeline`, treat it as unfinished scope of this
task rather than a new bug.

## Bookkeeping note

Reconstructed 2026-08-08 during the orphaned-prompt triage
(`draft/maintenance/pyautomind/active_prompt_orphan_triage.md`). Dated from the
fixing commit; no ship-time record exists.

## Original prompt

# Fix workspace-level `start_here.py` Colab links

Type: docs
Target: workspaces
Repos:
- PyAutoLens
- PyAutoGalaxy
- autolens_workspace
- autogalaxy_workspace
- euclid_strong_lens_modeling_pipeline
Difficulty: small
Autonomy: supervised
Priority: normal
Status: formalised

Correct Google Colab URLs described as the introductory PyAutoLens or
PyAutoGalaxy Jupyter Notebook so that they open each workspace's root
`start_here.ipynb`, generated from the overall workspace `start_here.py`, not
the topic-specific `notebooks/imaging/start_here.ipynb`. Scan other `README.md`
and documentation files for the same incorrect target and update matching
introductory links, while preserving links that explicitly describe the
imaging-specific tutorial.

Verify that both root `start_here.py` sources use the correct product-specific
`setup_colab` call and that the corresponding generated `start_here.ipynb`
notebooks contain the same setup before routing users to them.

## Original request

> The URL to this should not be imaging/start_here.py but the overall workspace start_here.py, The introduction Jupyter Notebook on Google Colab: try PyAutoLens in a web browser (without installation)., update it and scan other README.md and docs for the same issue

> make sure the examples we are routing to has the right setup_colab

> this is prob requied for PyautoGalaxy too
51 changes: 51 additions & 0 deletions complete/2026/07/workspace-version.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# workspace-version

- shipped: 2026-07-17
- commit: autolens_workspace `21702119` — "config: adopt version.minimum_library_version floor (2026.7.9.1)"
- repos:
- autolens_workspace (verified); the sibling workspaces adopt the same key

## Summary

Users pairing a workspace checkout with a differently-versioned library
installation hit API inconsistencies and config mismatches with no clear signal
about the cause. The prompt asked what could be done; the answer that shipped is
a **version floor declared in workspace config**, checked on import.

`autolens_workspace/config/general.yaml`:

```yaml
minimum_library_version: 2026.7.9.1
workspace_version_check: True # If False, bypass the workspace/library version check.
```

The config comment records that this key is "Preferred over `workspace_version`"
— i.e. a **floor** rather than an exact pin, which was the open design question
in the prompt. `workspace_version_check` gives the documented escape hatch for
`main`-branch clones, where mismatches are expected and not actionable because
`main` moves faster than releases.

## Bookkeeping note

Reconstructed 2026-08-08 during the orphaned-prompt triage
(`draft/maintenance/pyautomind/active_prompt_orphan_triage.md`). The prompt sat
in `active/` unclaimed by any registry entry, so no ship-time record exists.
Dated from the adopting commit, not from a merge record.

## Related, still open

`draft/feature/workspaces/minimum_library_version_adoption.md` covers adopting
the same key across the remaining workspace configs. Only `autolens_workspace`
was verified here — that draft should be re-checked against each workspace
before being treated as pending.

## Original prompt

A common problem is users pair a workspace with a different version to their installed software, leaidng to API
inconsistencies and config mismatches.

What do you think we can do about this? One option would be if they are running inside a workspace, it has its
version stored somewhere which is compared to their source code on import. However, you could still end up
with users doing work outside their workspace and copy and pasting old code and API and whatnot. This version number
could be put in configs to be a bit more secure (e.g. even in their own drive they probably need a config)
but not clear cut.
Original file line number Diff line number Diff line change
@@ -1,3 +1,58 @@
# active-prompt-orphan-triage

- shipped: 2026-08-08
- repos:
- PyAutoMind
- follows: `complete/2026/08/registry-integrity-check.md`

## Summary

Triaged the 8 `active/` prompts that no registry entry claimed, disposed of
every one, and turned `lifecycle.py orphans` from a report into a gate — it is
now graded by `check`, and the `--check` opt-in flag is gone.

`lifecycle.py orphans` reports **none**.

## Disposals

**Shipped — recorded, dated from the actual commit:**

| Prompt | Record | Evidence |
|---|---|---|
| `ep_optimise_expose_updater_delta.md` | `complete/2026/08/ep-optimise-updater.md` | PyAutoFit#1457 `3b960609`, autofit_workspace#136 `cf8b4077` |
| `workspace_version.md` | `complete/2026/07/workspace-version.md` | autolens_workspace `21702119` — `minimum_library_version: 2026.7.9.1` in `config/general.yaml` |
| `fix_workspace_start_here_colab_links.md` | `complete/2026/07/fix-workspace-start-here-colab-links.md` | autolens_workspace `897465a6` — README Colab links now resolve to the root `start_here.ipynb` |

**Not shipped — parked with the evidence:**

- `matplotlib_inline_standalones.md` — VERIFIED INCOMPLETE. At least two of the
five standalone `# %matplotlib inline` comments survive on autolens_workspace
main (both `potential_correction/start_here.py`).
- `benchmark_calibration_runs.md` — VERIFIED NOT STARTED. `benchmarks/runs/` on
autolens_assistant main still holds only `.gitkeep`; harness and prompt cards
are in place, only the campaign is missing.

**In flight — claimed by an entry that lacked a `prompt:` field:**

- `research_profiling_experiment_in_the_autolens_pr.md` is the
`group4-mge-search-benchmark` work (autolens_profiling#82/#83). The parked
entry existed all along; it just never named its prompt.

**Unverifiable from a cloud session — parked, flagged as such:**

- `euclid_eceb_editorial_revision.md` and
`pyautoreduce_slacs1430_acs_comparison.md` both work against local paths under
`/mnt/c/Users/Jammy/Science/`. Their state can only be confirmed from the
laptop, and the parked entries say so rather than guessing.

## Note on the two unverifiable entries

Parking them clears the orphan condition without asserting anything false, but
it is the weakest disposal here — a task parked because nobody could look is not
the same as a task parked on purpose. Re-check both from the laptop.

## Original prompt

# Triage the 8 orphaned active/ prompts, then make `orphans` a gate

Type: maintenance
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,60 @@
# registry-integrity-check

- shipped: 2026-08-08
- prs: PyAutoMind#158 (`ab80c4fb`), #159 (`edbfd379`), #160 (`7a85821e`), #161 (`86c97981`), #162 (`62cd9ffe`)
- repos:
- PyAutoMind

## Summary

`lifecycle.py check` reported OK over a `planned.md` in which 9 of 13 entries
were wrong: `cmd_check` never opened `planned.md` or `parked.md` and never
resolved a `prompt:` path. It now validates the registry files — path
resolution (exact, not via the legacy fallback), state contradictions, slug
uniqueness across registries, and unclaimed `active/` prompts — plus an online
`issues` leg cross-checking tracking issues against GitHub.

`lifecycle.py` had no test at all before this; it now has 109.

## The finding that motivated it

Six of the thirteen `planned.md` entries were work that had **already shipped**,
including the entire M0–M3 release-validation milestone chain (`heart-ci-linkage`,
`build-testpypi-rehearsal-mode`, `heart-release-validation`,
`heart-release-profile-wheel-integration`) plus both auto-simulate entries. Not
one had been retired. A task-selection pass spent most of a session discovering
two of them the hard way, which is what triggered the audit.

## The lesson worth keeping

**The trackers were accurate the whole time; only the Mind was stale.** Every
shipped entry had correct upstream state available — a closed issue, a merged
PR, a capability live on `main` — and none of it ever reached `planned.md`. The
drift is not GitHub going out of date, it is the Mind never reading back. That
is why the online `issues` leg exists despite `check` staying hermetic.

## Traps found while building it

- **`parked.md` takes prompts in BOTH `draft/` and `active/`.** It holds merely-
scoped tasks *and* started-then-parked ones. Grading it like `planned.md`
flags every genuinely parked task. Caught only because a real entry failed.
- **`- prompt:` values carry trailing prose** (`... .md (carries the phase table)`).
The path is the first token.
- **Nested two-space bullets are values, not fields.** Reading ` - SomeRepo:
some-branch` under `repos:` as a field invents keys out of branch names.
- **A first parser reported 207 false mismatches** in the autolens_workspace
guard audit by assuming `Path("a","b")` and missing the `Path("a") / b / c`
idiom. The corrected pass found 236 resolvable guards and 0 mismatches.

## Deliberately not done

Requiring a `prompt:` field on every `active.md` entry. Slug-matching exists
only because entries predate the convention, and it is the weaker claim —
`ep-optimise-updater` was a real entry whose real prompt failed to match on name
alone. Worth doing; not done here.

## Original prompt

# Teach `lifecycle.py check` to validate the registry files

Type: maintenance
Expand Down
6 changes: 5 additions & 1 deletion complete/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

942 records across 7 buckets.
946 records across 7 buckets.

<!-- CURATED:START -->
## Highlights
Expand All @@ -18,6 +18,7 @@ _(curate hard-won records here — survives regeneration.)_

## 2026/08

- [active-prompt-orphan-triage](2026/08/active-prompt-orphan-triage.md)
- [astropy-cap-bump](2026/08/astropy-cap-bump.md) — closed manually post-merge — "Part of" in the PR bodies does not auto-close
- [autocti-util-dataset-export](2026/08/autocti-util-dataset-export.md) — no GitHub issue — worked directly from the draft prompt in a cloud session on explicit human instruction; the …
- [autogalaxy-assistant](2026/08/autogalaxy-assistant.md) — epic; human to close
Expand Down Expand Up @@ -62,6 +63,7 @@ _(curate hard-won records here — survives regeneration.)_
- [pyautobrain-pr-test-ci](2026/08/pyautobrain-pr-test-ci.md) — auto-closed by the merge
- [pyautofit_plot_rst_dead_plotters](2026/08/pyautofit_plot_rst_dead_plotters.md)
- [pyautogalaxy-mge-sigma-test](2026/08/pyautogalaxy-mge-sigma-test.md)
- [registry-integrity-check](2026/08/registry-integrity-check.md)
- [script-title-underline-off-by-one](2026/08/script-title-underline-off-by-one.md)
- [simulator-util-to-af-ex](2026/08/simulator-util-to-af-ex.md) — moved the four 1D-Gaussian simulator helpers out of the duplicated
- [small-datasets-loader-pixel-scales](2026/08/small-datasets-loader-pixel-scales.md)
Expand Down Expand Up @@ -227,6 +229,7 @@ _(curate hard-won records here — survives regeneration.)_
- [eyes-paper-critique](2026/07/eyes-paper-critique.md) — epic #117 CLOSED
- [factor-graph-viz-dispatch](2026/07/factor-graph-viz-dispatch.md)
- [fitness-nan-guard-contract](2026/07/fitness-nan-guard-contract.md)
- [fix-workspace-start-here-colab-links](2026/07/fix-workspace-start-here-colab-links.md)
- [floors-adoption](2026/07/floors-adoption.md) — Phase 4 task 1 — adopt version.minimum_library_version floor (2026.7.9.1) across all 7 workspace config/genera…
- [frame-products](2026/07/frame-products.md) — opt-in per-exposure frame products live — TargetSpec.frame_products packages every calibrated _flc/_flt SCI ch…
- [frame-registration](2026/07/frame-registration.md) — inter-exposure registration quantified + extracted — frames/manifest.json per-frame registration block (WCS so…
Expand Down Expand Up @@ -567,6 +570,7 @@ _(curate hard-won records here — survives regeneration.)_
- [wire-verify-install-leg](2026/07/wire-verify-install-leg.md)
- [workspace-readme-drift](2026/07/workspace-readme-drift.md)
- [workspace-start-here-colab-links](2026/07/workspace-start-here-colab-links.md) — Generic PyAutoLens and PyAutoGalaxy introduction links now open each workspace-root start_here.ipynb rather th…
- [workspace-version](2026/07/workspace-version.md)
- [workspace_examples_agent](2026/07/workspace_examples_agent.md)
- [worktree-drift-fixes](2026/07/worktree-drift-fixes.md)

Expand Down
Loading
Loading