Overview
Extend autolens_assistant with a euclid mode: a domain layer that pairs the public euclid_strong_lens_modeling_pipeline (the collaboration-facing repo of standard Euclid modeling pipelines) to the assistant, plus a dedicated Euclid literature wiki covering both the strong-lensing Euclid papers and the mission/instrument/data papers. euclid_strong_lens_modeling_pipeline is being consolidated as the repo that reproduces the Euclid paper's results; once euclid mode is in place, real lenses will be modeled through it and the layer iterated against the science paper's needs. The euclid_assistant paper type-setting/editing tools are explicitly out of scope.
Plan
- Phase 0 — pipeline cleanup: remove the no-longer-required
profiling/ and skills/ folders from euclid_strong_lens_modeling_pipeline, sweeping any references. Small standalone PR.
- Phase 1 — euclid skills layer: a
euclid_*.md skills family in autolens_assistant pairing the pipeline's surfaces (setup/install, data preparation, the staged modeling scripts, workflow products, HPC runs) to the assistant, registered in skills/README.md with an AGENTS.md routing note.
- Phase 2 — dedicated euclid literature wiki:
autolens_assistant/wiki/euclid/ following the wiki/literature/ schema, populated with the strong-lensing, mission/instrument, EXT-survey and photo-z/ZPC papers; bib entries mined verbatim from euclid_assistant's euclid.bib.
- Later (out of this task): model a small fraction of lenses through euclid mode and iterate on features the science paper needs.
Approved decisions: "mode" is implemented as skills + wiki (NOT a modes/ interaction preset — those stay teacher/assistant only). Euclid_DR1_impact_image_processing.pdf is ingested as a sources page + bib entry only; the PDF itself stays out of the public repo (collaboration-internal draft).
Detailed implementation plan
Affected Repositories
- autolens_assistant (primary)
- euclid_strong_lens_modeling_pipeline (Phase 0 cleanup; Phases 1–2 read-only pairing target)
- euclid_assistant (read-only source:
euclid.bib, 296 entries; also knowledge/sources/euclid_assets/euclid.bib)
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./autolens_assistant |
main |
clean |
| ./euclid_strong_lens_modeling_pipeline |
main |
clean |
Suggested branch: feature/assistant-euclid-mode
Work Classification: Workspace
Worktree root: ~/Code/PyAutoLabs-wt/assistant-euclid-mode/ (created by /start_workspace)
Implementation Steps
Phase 0 — euclid_strong_lens_modeling_pipeline cleanup (own PR)
git rm -r profiling/ skills/ (profiling/ holds delaunay/simulator profiling scripts; skills/ holds a stale start-new-project copy).
- Sweep references: grep
README.md, start_here.py, smoke_tests.txt, tests/, config/, __init__.py, activate.sh for profiling/skills mentions and update.
- Smoke-check nothing imports the removed modules.
Phase 1 — euclid skills layer in autolens_assistant (own PR)
- Read the pipeline end-to-end first:
scripts/ (initial_lens_model.py, sersic_lens_model.py, mge_lens_only.py, lens_model_waveband.py, full_model.py), preprocess/, workflow/ (csv_make.py, fits_make.py, png_make.py), hpc/, dataset/, start_here.py, util.py — the skill inventory is finalized from what the scripts actually do.
- Author
skills/euclid_*.md following skills/_style.md and _bootstrap_skill.md (Orient → Ask → Branch → Combine), expected shape:
euclid_setup_pipeline.md — clone/install the pipeline, activate.sh, dataset layout, start_here.py.
euclid_prepare_data.md — preprocess/ → modeling-ready dataset; cutouts/PSF/noise conventions (per-tile, sky-coordinate-dependent PSFs).
euclid_model_lens.md — the staged modeling progression (initial_lens_model → sersic_lens_model → mge_lens_only → lens_model_waveband → full_model); when to use which stage.
euclid_workflow_products.md — workflow/ csv/fits/png result products.
euclid_hpc_runs.md — hpc/sync CLI, SLURM submission, pulling results.
(Merge/split as the reading dictates; each skill cites pipeline paths as Project:path.)
- Register each skill in
skills/README.md; add .claude/skills/ symlinks; add an AGENTS.md routing note so Euclid requests load the euclid layer.
- Run
python autoassistant/audit_skill_apis.py over any PyAuto* code blocks in the new skills.
Phase 2 — wiki/euclid/ literature wiki (own PR)
- Mirror the
wiki/literature/ schema (AGENTS.md there is canonical): index.md, concepts/, entities/, sources/, bibliography/.
bibliography/euclid.bib: copy entries verbatim from euclid_assistant/euclid.bib for the papers below; resolve any missing ones from public ADS/arXiv metadata — never fabricate; keep bibkey_aliases.yaml mapping prompt-style names → canonical keys.
- Pages (paper list from the prompt):
entities/: euclid-mission (Mellier+25 = EuclidSkyOverview), vis (Cropper+25), nisp (Jahnke+25), euclid-wide-survey (Scaramella+22 Scaramella-EP1), q1/dr1 releases, ext-surveys (HSC Miyazaki+18, CFIS Ibata+17, Pan-STARRS Chambers+16, DES Abbott+21), ou-phz (Desprez+20 Desprez-EP10).
concepts/: euclid-psf (tile/sky-coordinate dependence — McCracken+25/26, Polenta+25/26), zero-point-corrections, psf-homogenisation / aperture photometry (Romelli+25, Boucaud+16 Wiener-filter kernels), euclid-photo-z (Tucci+25).
sources/: euclid-strong-lensing.md (Walmsley+25a, Rojas+25, Lines+25, Li+25, Holloway+25, Ecker+26 Q1-Ecker, Acevedo Barroso+25 AcevedoBarroso24, O'Riordan+25 ORiordan25), euclid-forecasts.md (Amara & Réfrégier 07, Ma+06, Huterer+06, Kitching+08), euclid-mission-data.md (Kümmel+26, Romelli+25, McCracken, Polenta, Desprez), euclid-dr1-image-processing.md (ingested from Euclid_DR1_impact_image_processing.pdf — content only, PDF NOT committed).
- Cross-link with
[[slug]]; append provenance to log.md; link the euclid wiki from the Phase-1 skills.
Key Files
euclid_strong_lens_modeling_pipeline/profiling/, skills/ — removed (Phase 0)
autolens_assistant/skills/euclid_*.md — new skills family (Phase 1)
autolens_assistant/skills/README.md, AGENTS.md — registration + routing (Phase 1)
autolens_assistant/wiki/euclid/** — new sub-wiki (Phase 2)
euclid_assistant/euclid.bib — read-only bib source (296 entries)
autolens_assistant/wiki/literature/AGENTS.md — schema to mirror
Privacy notes
autolens_assistant is public: no PyAutoMemory references, no collaboration-internal PDFs, no personal content.
- 2025/2026 Euclid Collaboration bib entries ride verbatim from the bib (public preprint metadata).
Original Prompt
Click to expand starting prompt
Extend autolens_assistant with a euclid mode
Type: feature
Target: workspaces
Repos:
- autolens_assistant
- euclid_assistant
- euclid_strong_lens_modeling_pipeline
Difficulty: too-large
Autonomy: supervised
Priority: high
Status: formalised
In the project euclid_strong_lens_modeling_pipeline, we have all the examples used for modeling euclid data.
This is the github project I put standard pipelines out there to the collaobration so they can perform the
modeling themselves.
However, science was done at the path /mnt/c/Users/Jammy/Science/euclid, but this accumulated a lot of extra
scripts and code which is not really important for general Eulcid science.
I want to consoliate euclid_strong_lens_modeling_pipeline as a repo which has all the necessary code and infrastructure
to reproduce the resutls of the euclid paper. For now, lets assume euclid_strong_lens_modeling_pipeline is complete,
what I will do is I will gradually do a series of tasks in order to validate I get the results I want.
First remove the "profiling" and "skills" folders, which are no longer required.
The real task, is to extend the autolens_assistant with a "euclid" mode, which has the following aims:
-
It uses the euclid_strong_lens_modeling_pipeline to model euclid data, which means it will need its own wiki of skills which
pair the euclid modeling scripts to the assistant.
-
For the literature have a dediciaged euclid_wiki which contains all the strong lensing euclid papers for reference
but also non lensing euclid papers describing the instrument and other parts of the data.
Look in euclid_assistant/*/euclid.bib and use these papers:
Amara & Réfrégier 2007;
Euclid Collaboration: Mellier et al. 2025;
Ma et al. 2006; Huterer et al. 2006;
Kitching et al. 2008;
Euclid Collaboration: Tucci et al. 2025;
Euclid Collaboration: Cropper et al. 2025;
Euclid Collaboration: Jahnke et al. 2025;
Euclid Collaboration: Walmsley et al. 2025a;
Euclid Collaboration: Rojas et al. 2025;
Euclid Collaboration: Lines et al. 2025;
Euclid Collaboration: Li et al. 2025;
Euclid Collaboration: Holloway et al. 2025;
Euclid Collaboration: Ecker et al. 2026;
Euclid Collaboration: Romelli et al. 2025;
Euclid Collaboration: Kümmel et al. 2026
These papers describe EXT data which is part of Euclid Data:
Combining data from the Subaru Hyper Suprime Camera (HSC; Miyazaki et al. 2018) for the g and z bands; the
Canada–France Imaging Survey (CFIS; Ibata et al. 2017) for the u and r bands; and the Panoramic Survey
Telescope and Rapid Response System (Chambers et al. 2016, Pan-STARRS) for the i band. In the Southern
Hemisphere, we use imaging from the Dark Energy Survey (DES; Abbott et al. 2021) in the griz bands.
The PSF of a particular band is unique to the target depending on its tile and sky coordinates
(Euclid Collaboration: McCracken et al. 2025, 2026; Euclid Collaboration: Polenta et al. 2025, 2026).
The ZPCs were calculated by the Euclid Photometric-Redshift Organisation Unit (OU-PHZ; Euclid Collaboration:
Desprez et al. 2020).
Also put PyAutoLabs/Euclid_DR1_impact_image_processing.pdf in there.
The standard approach to calculate aperture photometry across multiple wavebands is to first homogenise the
PSFs by generating convolution kernels that match higher-resolution images to the lowest-resolution band.
For example, Euclid Collaboration: Romelli et al. (2025) employed the kernel creation algorithm of
Boucaud et al. (2016), which builds convolution kernels based on Wiener filtering with a tunable
regularisation parameter.
The Euclid satellite will detect 1.5 billion galaxies over the Euclid Wide Survey (EWS, Euclid Collaboration:
Mellier et al. 2025; Euclid Collaboration: Scaramella et al. 2022). With an area of 14 000 deg2 (Euclid
Collaboration: Mellier et al. 2025), a IE PSF of 0.16" (Euclid Collaboration: McCracken et al. 2026; Euclid
Collaboration: Cropper et al. 2025), as well as three near-infrared bands providing crucial colour
information (Euclid Collaboration: Jahnke et al. 2025), the survey will revolutionise strong lensing.
(Acevedo Barroso et al. 2025; O'Riordan et al. 2025)
There are lots of papers above with key context on euclid strong lensing but also the instruments, data,
photo-zs etc.
Look at the euclid_assistant but note that, for now, the goal is not to have its type setting and editing
tools for papers to make it into autolens_assistant — this is just to help euclid strong lens modeling.
Once euclid mode is in place, I will then start modeling a small fraction of lenses and we can iterate
on what features and functionality need adding given the science paper.
Overview
Extend
autolens_assistantwith a euclid mode: a domain layer that pairs the publiceuclid_strong_lens_modeling_pipeline(the collaboration-facing repo of standard Euclid modeling pipelines) to the assistant, plus a dedicated Euclid literature wiki covering both the strong-lensing Euclid papers and the mission/instrument/data papers.euclid_strong_lens_modeling_pipelineis being consolidated as the repo that reproduces the Euclid paper's results; once euclid mode is in place, real lenses will be modeled through it and the layer iterated against the science paper's needs. Theeuclid_assistantpaper type-setting/editing tools are explicitly out of scope.Plan
profiling/andskills/folders fromeuclid_strong_lens_modeling_pipeline, sweeping any references. Small standalone PR.euclid_*.mdskills family inautolens_assistantpairing the pipeline's surfaces (setup/install, data preparation, the staged modeling scripts, workflow products, HPC runs) to the assistant, registered inskills/README.mdwith an AGENTS.md routing note.autolens_assistant/wiki/euclid/following thewiki/literature/schema, populated with the strong-lensing, mission/instrument, EXT-survey and photo-z/ZPC papers; bib entries mined verbatim fromeuclid_assistant'seuclid.bib.Approved decisions: "mode" is implemented as skills + wiki (NOT a
modes/interaction preset — those stay teacher/assistant only).Euclid_DR1_impact_image_processing.pdfis ingested as a sources page + bib entry only; the PDF itself stays out of the public repo (collaboration-internal draft).Detailed implementation plan
Affected Repositories
euclid.bib, 296 entries; alsoknowledge/sources/euclid_assets/euclid.bib)Branch Survey
Suggested branch:
feature/assistant-euclid-modeWork Classification: Workspace
Worktree root:
~/Code/PyAutoLabs-wt/assistant-euclid-mode/(created by/start_workspace)Implementation Steps
Phase 0 —
euclid_strong_lens_modeling_pipelinecleanup (own PR)git rm -r profiling/ skills/(profiling/holds delaunay/simulator profiling scripts;skills/holds a stalestart-new-projectcopy).README.md,start_here.py,smoke_tests.txt,tests/,config/,__init__.py,activate.shforprofiling/skillsmentions and update.Phase 1 — euclid skills layer in
autolens_assistant(own PR)scripts/(initial_lens_model.py,sersic_lens_model.py,mge_lens_only.py,lens_model_waveband.py,full_model.py),preprocess/,workflow/(csv_make.py,fits_make.py,png_make.py),hpc/,dataset/,start_here.py,util.py— the skill inventory is finalized from what the scripts actually do.skills/euclid_*.mdfollowingskills/_style.mdand_bootstrap_skill.md(Orient → Ask → Branch → Combine), expected shape:euclid_setup_pipeline.md— clone/install the pipeline,activate.sh, dataset layout,start_here.py.euclid_prepare_data.md—preprocess/→ modeling-ready dataset; cutouts/PSF/noise conventions (per-tile, sky-coordinate-dependent PSFs).euclid_model_lens.md— the staged modeling progression (initial_lens_model→sersic_lens_model→mge_lens_only→lens_model_waveband→full_model); when to use which stage.euclid_workflow_products.md—workflow/csv/fits/png result products.euclid_hpc_runs.md—hpc/syncCLI, SLURM submission, pulling results.(Merge/split as the reading dictates; each skill cites pipeline paths as
Project:path.)skills/README.md; add.claude/skills/symlinks; add an AGENTS.md routing note so Euclid requests load the euclid layer.python autoassistant/audit_skill_apis.pyover any PyAuto* code blocks in the new skills.Phase 2 —
wiki/euclid/literature wiki (own PR)wiki/literature/schema (AGENTS.mdthere is canonical):index.md,concepts/,entities/,sources/,bibliography/.bibliography/euclid.bib: copy entries verbatim fromeuclid_assistant/euclid.bibfor the papers below; resolve any missing ones from public ADS/arXiv metadata — never fabricate; keepbibkey_aliases.yamlmapping prompt-style names → canonical keys.entities/: euclid-mission (Mellier+25 =EuclidSkyOverview), vis (Cropper+25), nisp (Jahnke+25), euclid-wide-survey (Scaramella+22Scaramella-EP1), q1/dr1 releases, ext-surveys (HSC Miyazaki+18, CFIS Ibata+17, Pan-STARRS Chambers+16, DES Abbott+21), ou-phz (Desprez+20Desprez-EP10).concepts/: euclid-psf (tile/sky-coordinate dependence — McCracken+25/26, Polenta+25/26), zero-point-corrections, psf-homogenisation / aperture photometry (Romelli+25, Boucaud+16 Wiener-filter kernels), euclid-photo-z (Tucci+25).sources/: euclid-strong-lensing.md (Walmsley+25a, Rojas+25, Lines+25, Li+25, Holloway+25, Ecker+26Q1-Ecker, Acevedo Barroso+25AcevedoBarroso24, O'Riordan+25ORiordan25), euclid-forecasts.md (Amara & Réfrégier 07, Ma+06, Huterer+06, Kitching+08), euclid-mission-data.md (Kümmel+26, Romelli+25, McCracken, Polenta, Desprez), euclid-dr1-image-processing.md (ingested fromEuclid_DR1_impact_image_processing.pdf— content only, PDF NOT committed).[[slug]]; append provenance tolog.md; link the euclid wiki from the Phase-1 skills.Key Files
euclid_strong_lens_modeling_pipeline/profiling/,skills/— removed (Phase 0)autolens_assistant/skills/euclid_*.md— new skills family (Phase 1)autolens_assistant/skills/README.md,AGENTS.md— registration + routing (Phase 1)autolens_assistant/wiki/euclid/**— new sub-wiki (Phase 2)euclid_assistant/euclid.bib— read-only bib source (296 entries)autolens_assistant/wiki/literature/AGENTS.md— schema to mirrorPrivacy notes
autolens_assistantis public: no PyAutoMemory references, no collaboration-internal PDFs, no personal content.Original Prompt
Click to expand starting prompt
Extend autolens_assistant with a euclid mode
Type: feature
Target: workspaces
Repos:
Difficulty: too-large
Autonomy: supervised
Priority: high
Status: formalised
In the project euclid_strong_lens_modeling_pipeline, we have all the examples used for modeling euclid data.
This is the github project I put standard pipelines out there to the collaobration so they can perform the
modeling themselves.
However, science was done at the path /mnt/c/Users/Jammy/Science/euclid, but this accumulated a lot of extra
scripts and code which is not really important for general Eulcid science.
I want to consoliate euclid_strong_lens_modeling_pipeline as a repo which has all the necessary code and infrastructure
to reproduce the resutls of the euclid paper. For now, lets assume euclid_strong_lens_modeling_pipeline is complete,
what I will do is I will gradually do a series of tasks in order to validate I get the results I want.
First remove the "profiling" and "skills" folders, which are no longer required.
The real task, is to extend the autolens_assistant with a "euclid" mode, which has the following aims:
It uses the euclid_strong_lens_modeling_pipeline to model euclid data, which means it will need its own wiki of skills which
pair the euclid modeling scripts to the assistant.
For the literature have a dediciaged euclid_wiki which contains all the strong lensing euclid papers for reference
but also non lensing euclid papers describing the instrument and other parts of the data.
Look in euclid_assistant/*/euclid.bib and use these papers:
Amara & Réfrégier 2007;
Euclid Collaboration: Mellier et al. 2025;
Ma et al. 2006; Huterer et al. 2006;
Kitching et al. 2008;
Euclid Collaboration: Tucci et al. 2025;
Euclid Collaboration: Cropper et al. 2025;
Euclid Collaboration: Jahnke et al. 2025;
Euclid Collaboration: Walmsley et al. 2025a;
Euclid Collaboration: Rojas et al. 2025;
Euclid Collaboration: Lines et al. 2025;
Euclid Collaboration: Li et al. 2025;
Euclid Collaboration: Holloway et al. 2025;
Euclid Collaboration: Ecker et al. 2026;
Euclid Collaboration: Romelli et al. 2025;
Euclid Collaboration: Kümmel et al. 2026
These papers describe EXT data which is part of Euclid Data:
Combining data from the Subaru Hyper Suprime Camera (HSC; Miyazaki et al. 2018) for the g and z bands; the
Canada–France Imaging Survey (CFIS; Ibata et al. 2017) for the u and r bands; and the Panoramic Survey
Telescope and Rapid Response System (Chambers et al. 2016, Pan-STARRS) for the i band. In the Southern
Hemisphere, we use imaging from the Dark Energy Survey (DES; Abbott et al. 2021) in the griz bands.
The PSF of a particular band is unique to the target depending on its tile and sky coordinates
(Euclid Collaboration: McCracken et al. 2025, 2026; Euclid Collaboration: Polenta et al. 2025, 2026).
The ZPCs were calculated by the Euclid Photometric-Redshift Organisation Unit (OU-PHZ; Euclid Collaboration:
Desprez et al. 2020).
Also put PyAutoLabs/Euclid_DR1_impact_image_processing.pdf in there.
The standard approach to calculate aperture photometry across multiple wavebands is to first homogenise the
PSFs by generating convolution kernels that match higher-resolution images to the lowest-resolution band.
For example, Euclid Collaboration: Romelli et al. (2025) employed the kernel creation algorithm of
Boucaud et al. (2016), which builds convolution kernels based on Wiener filtering with a tunable
regularisation parameter.
The Euclid satellite will detect 1.5 billion galaxies over the Euclid Wide Survey (EWS, Euclid Collaboration:
Mellier et al. 2025; Euclid Collaboration: Scaramella et al. 2022). With an area of 14 000 deg2 (Euclid
Collaboration: Mellier et al. 2025), a IE PSF of 0.16" (Euclid Collaboration: McCracken et al. 2026; Euclid
Collaboration: Cropper et al. 2025), as well as three near-infrared bands providing crucial colour
information (Euclid Collaboration: Jahnke et al. 2025), the survey will revolutionise strong lensing.
(Acevedo Barroso et al. 2025; O'Riordan et al. 2025)
There are lots of papers above with key context on euclid strong lensing but also the instruments, data,
photo-zs etc.
Look at the euclid_assistant but note that, for now, the goal is not to have its type setting and editing
tools for papers to make it into autolens_assistant — this is just to help euclid strong lens modeling.
Once euclid mode is in place, I will then start modeling a small fraction of lenses and we can iterate
on what features and functionality need adding given the science paper.