Overview
Phase 2 of the Colab maturity work (tracker: PyAutoLabs/PyAutoBuild#124). Phase 1 (merged 2026-07-09: PyAutoLabs/PyAutoConf#120, PyAutoLabs/PyAutoBuild#125, PyAutoLabs/PyAutoHeart#44) made every generated notebook Colab-runnable by construction and added forbidden-URL guards that now flag the accumulated link rot. This phase fixes the rot so the Monday central url-check sweep can go green.
--auto run (effective level: safe — mechanical, well-specified link repair; header safe, difficulty medium). Plan below per the autonomy contract; ship goes through the four-leg autonomous gate and ends at PR-open. Note: the Brain Feature Agent recommended re-homing as research; overridden inline — the task has an explicit repo list, concrete edits, and a verifiable done-condition (url_check.sh green per repo).
Scope split at launch: PyAutoLens + PyAutoGalaxy are claimed by release-docs-polish-learn-paths (awaiting-input, uncommitted). Their docs/howto* dead-link fixes + allowlist purges are deferred to a follow-up leg registered in planned.md, blocked on that task. This run covers HowToFit, HowToGalaxy, HowToLens, euclid_strong_lens_modeling_pipeline.
Plan
- HowToLens — pin the 71 unpinned
blob/main Colab URLs in scripts/*/README.md (mirrored in notebooks/*/README.md) to the current release tag 2026.7.6.649; fix dead filenames (tutorial_11_adapt_regularization.py.ipynb → tutorial_11_adaptive_regularization.ipynb, etc.); verify every link target exists in the repo; purge the now-fixed Colab entries from .url_check_allowlist.txt.
- HowToGalaxy — repoint the 28 wrong-repo chapter README Colab URLs (
autogalaxy_workspace/... → HowToGalaxy/... at the current tag); verify targets; purge fixed allowlist Colab entries.
- HowToFit — verify every chapter README Colab link target exists at the pinned tag; fix the two moved/renamed tutorials frozen in the allowlist; purge fixed entries.
- euclid_strong_lens_modeling_pipeline — replace the forbidden
Jammy2211 Colab URL in README.md with the PyAutoLabs form.
- Verify — run the merged Heart
url_check.sh (offline guard, now including the new patterns) over each repo: must exit clean.
Detailed implementation plan
Affected Repositories
- HowToLens (primary)
- HowToGalaxy
- HowToFit
- euclid_strong_lens_modeling_pipeline
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./HowToLens |
main |
20 modified (regenerated dataset FITS/JSON — unrelated churn) |
| ./HowToGalaxy |
main |
13 modified (same) |
| ./HowToFit |
main |
315 modified (same) |
| ./euclid_strong_lens_modeling_pipeline |
main |
1 modified (test_report.md) |
Dirty files are local dataset-regeneration churn, none overlapping this task's files; worktrees branch from origin/main.
Suggested branch: feature/colab-link-rot
Work Classification: Workspace
Worktree root: ~/Code/PyAutoLabs-wt/colab-link-rot/
Implementation Steps
- Script an audit: extract every
colab.research.google.com URL from chapter READMEs in the three HowTo repos, map to the expected local notebooks/... path, report missing targets.
- Fix systematically: right repo (HowToGalaxy), pinned tag (HowToLens), corrected filenames (all three); mirror scripts/ README edits into notebooks/ READMEs.
- euclid README:
Jammy2211 → PyAutoLabs owner (verify the target notebook exists; otherwise repoint to the imaging start_here).
- Purge fixed Colab entries from each repo's
.url_check_allowlist.txt (leave non-Colab entries).
- Gate:
bash PyAutoHeart/heart/checks/url_check.sh <repo> clean per repo; four-leg autonomous-ship gate; PRs with pending-release.
Key Files
HowTo*/scripts/*/README.md + HowTo*/notebooks/*/README.md — Colab link lists
HowTo*/.url_check_allowlist.txt — grandfathered rot to purge
euclid_strong_lens_modeling_pipeline/README.md
Original Prompt
Click to expand starting prompt
See PyAutoMind/issued/colab_link_rot.md (line-rot inventory from the 2026-07-09 census in issued/colab_maturity.md).
Overview
Phase 2 of the Colab maturity work (tracker: PyAutoLabs/PyAutoBuild#124). Phase 1 (merged 2026-07-09: PyAutoLabs/PyAutoConf#120, PyAutoLabs/PyAutoBuild#125, PyAutoLabs/PyAutoHeart#44) made every generated notebook Colab-runnable by construction and added forbidden-URL guards that now flag the accumulated link rot. This phase fixes the rot so the Monday central url-check sweep can go green.
--auto run (effective level: safe — mechanical, well-specified link repair; header
safe, difficultymedium). Plan below per the autonomy contract; ship goes through the four-leg autonomous gate and ends at PR-open. Note: the Brain Feature Agent recommended re-homing as research; overridden inline — the task has an explicit repo list, concrete edits, and a verifiable done-condition (url_check.shgreen per repo).Scope split at launch: PyAutoLens + PyAutoGalaxy are claimed by
release-docs-polish-learn-paths(awaiting-input, uncommitted). Theirdocs/howto*dead-link fixes + allowlist purges are deferred to a follow-up leg registered inplanned.md, blocked on that task. This run covers HowToFit, HowToGalaxy, HowToLens, euclid_strong_lens_modeling_pipeline.Plan
blob/mainColab URLs inscripts/*/README.md(mirrored innotebooks/*/README.md) to the current release tag2026.7.6.649; fix dead filenames (tutorial_11_adapt_regularization.py.ipynb→tutorial_11_adaptive_regularization.ipynb, etc.); verify every link target exists in the repo; purge the now-fixed Colab entries from.url_check_allowlist.txt.autogalaxy_workspace/...→HowToGalaxy/...at the current tag); verify targets; purge fixed allowlist Colab entries.Jammy2211Colab URL in README.md with the PyAutoLabs form.url_check.sh(offline guard, now including the new patterns) over each repo: must exit clean.Detailed implementation plan
Affected Repositories
Branch Survey
Dirty files are local dataset-regeneration churn, none overlapping this task's files; worktrees branch from origin/main.
Suggested branch:
feature/colab-link-rotWork Classification: Workspace
Worktree root:
~/Code/PyAutoLabs-wt/colab-link-rot/Implementation Steps
colab.research.google.comURL from chapter READMEs in the three HowTo repos, map to the expected localnotebooks/...path, report missing targets.Jammy2211→PyAutoLabsowner (verify the target notebook exists; otherwise repoint to the imaging start_here)..url_check_allowlist.txt(leave non-Colab entries).bash PyAutoHeart/heart/checks/url_check.sh <repo>clean per repo; four-leg autonomous-ship gate; PRs withpending-release.Key Files
HowTo*/scripts/*/README.md+HowTo*/notebooks/*/README.md— Colab link listsHowTo*/.url_check_allowlist.txt— grandfathered rot to purgeeuclid_strong_lens_modeling_pipeline/README.mdOriginal Prompt
Click to expand starting prompt
See
PyAutoMind/issued/colab_link_rot.md(line-rot inventory from the 2026-07-09 census inissued/colab_maturity.md).