Overview
Bootstrap a new GitHub repository PyAutoLabs/autolens_profiling that will consolidate all PyAutoLens profiling work currently scattered across autolens_workspace_developer/jax_profiling/ and searches_minimal/. This is Phase 0 of the multi-phase z_features roadmap tracked at PyAutoPrompt/z_features/autolens_profiling.md — it creates the empty repo and scaffolding so Phases 1–5 (likelihood mirror, simulators mirror, Nautilus mirror, instrument-framed README dashboard, CI) have a clean place to land.
This issue lives on PyAutoLabs/PyAutoLens as a temporary home because the target repo does not yet exist. It can be closed once the new repo is live and contains the scaffolding committed via this task. Future phase issues will file on PyAutoLabs/autolens_profiling directly.
Plan
- Create the empty public GitHub repo
PyAutoLabs/autolens_profiling (description: "Profiling and run-time tracking for PyAutoLens likelihood functions, simulators, and samplers across CPU, laptop GPU, and HPC GPU.")
- Clone it locally to
/home/jammy/Code/PyAutoLabs/autolens_profiling/ so later phase work picks it up alongside the other PyAutoLabs repos.
- Author a top-level
README.md covering vision/scope, a "JAX gradients out of scope for now" callout pointing to PyAutoLabs/autolens_workspace_developer/jax_profiling/gradient/, a "Related repos" section, and a guide to how the versioned results/ artifact pattern works.
- Add
LICENSE (matching the MIT license other PyAutoLabs repos use) and .gitignore (mirrored from autolens_workspace_developer).
- Create the folder skeleton —
likelihood/, simulators/, searches/, results/ — each containing only a placeholder README.md that says "populated by Phase N of the z_feature".
- Decide and document whether the repo is a Python package or a script collection (lean: script collection — no
pyproject.toml).
- Push the initial scaffolding commit straight to
main (no PR, no feature branch — this is the repo's first commit).
- Update
PyAutoPrompt/z_features/autolens_profiling.md to mark Phase 0 as shipped and link to the new repo.
Detailed implementation plan
Affected Repositories
PyAutoLabs/PyAutoLens (issue tracker only — no code changes)
PyAutoLabs/autolens_profiling (new repo, created by this task)
PyAutoLabs/autolens_workspace_developer (read-only reference for .gitignore, results convention, CLAUDE.md profiling conventions; now public on PyAutoLabs as of 2026-05-16)
Work Classification
Library-style work (creating a new code repo), but does not follow the standard /start_library worktree flow because there is no pre-existing repo to branch from. Initial scaffolding goes straight to main of the new repo.
Execution Steps
-
Confirm the repo doesn't already exist (sanity check — last verified missing 2026-05-16):
gh repo view PyAutoLabs/autolens_profiling 2>&1 | head -3
# expect: GraphQL: Could not resolve...
-
Create the repo on GitHub:
gh repo create PyAutoLabs/autolens_profiling \
--public \
--description "Profiling and run-time tracking for PyAutoLens likelihood functions, simulators, and samplers across CPU, laptop GPU, and HPC GPU." \
--clone \
--add-readme=false
If --clone lands in the wrong directory, clone manually:
git clone git@github.com:PyAutoLabs/autolens_profiling.git /home/jammy/Code/PyAutoLabs/autolens_profiling
-
Author LICENSE — copy the MIT license from /home/jammy/Code/PyAutoLabs/PyAutoLens/LICENSE (verify it's MIT first; PyAutoLens uses MIT).
-
Author .gitignore — start from /home/jammy/Code/PyAutoLabs/autolens_workspace_developer/.gitignore and add: profiler trace artifacts (*.prof, *.pstats), JAX cache (/tmp/jax_cache/, __jax_cache__/), numba cache, matplotlib config, scratch result dirs from local dev.
-
Author top-level README.md with these sections:
- Title + one-line description.
- Vision / scope — three short paragraphs:
- What this repo profiles (likelihood, simulators, searches).
- What hardware tiers (CPU, laptop GPU, HPC GPU like A100).
- What dataset types and model compositions.
- Headline results table — placeholder/stub explaining "populated by Phase 4".
- JAX gradients note — explicit callout: "Gradient profiling is currently tracked in
PyAutoLabs/autolens_workspace_developer/jax_profiling/gradient/ and will fold into this repo in a future phase once the gradient story stabilises."
- Related repos — links to
PyAutoLabs/PyAutoLens, PyAutoLabs/autolens_workspace, PyAutoLabs/autolens_workspace_developer, and Jammy2211/autolens_colab_profiling (sibling, Colab-specific scope, not yet migrated to PyAutoLabs).
- How to read this repo — explain the
results/**/*_summary_v<version>.{json,png} versioned-artifact pattern.
- Section index — links to
likelihood/README.md, simulators/README.md, searches/README.md.
- Roadmap — short list of upcoming phases with link to
PyAutoLabs/PyAutoPrompt/z_features/autolens_profiling.md (note: this PyAutoPrompt link is internal-only; consider also pasting the phase list into the README itself for public visibility).
- Package vs scripts note — explicit one-liner: "This repo is a collection of standalone profiling scripts, not an installable Python package. Run scripts from the repo root."
-
Create folder skeleton with placeholder READMEs:
likelihood/README.md → "Populated by Phase 1 of the z_feature. See PyAutoLabs/PyAutoPrompt/z_features/autolens_profiling.md."
simulators/README.md → "Populated by Phase 2 of the z_feature."
searches/README.md → "Populated by Phase 3 of the z_feature (Nautilus only first pass)."
results/README.md → "Versioned profiling artifacts written by scripts under likelihood/, simulators/, searches/. Layout mirrors source folders."
-
Initial commit + push to main:
cd /home/jammy/Code/PyAutoLabs/autolens_profiling
git add -A
git commit -m "feat: bootstrap autolens_profiling scaffolding
Initial scaffolding for the new profiling repo. Phase 0 of the
z_features roadmap tracked at PyAutoPrompt/z_features/autolens_profiling.md.
- README.md with vision, scope, JAX-gradient out-of-scope note, related repos, how-to-read guide.
- LICENSE (MIT), .gitignore.
- Folder skeleton: likelihood/, simulators/, searches/, results/ with placeholder READMEs.
Tracks PyAutoLens issue #<NN>."
git push -u origin main
(Substitute the real PyAutoLens issue number once known.)
-
Mark Phase 0 shipped in the tracker:
- Edit
PyAutoPrompt/z_features/autolens_profiling.md Phase 0 row to add a "shipped" indicator and link to the new repo.
- Add the task name
autolens-profiling-bootstrap to PyAutoPrompt/complete.md so the z_features tracker audit (via /start_dev z_features/autolens_profiling.md) picks it up as shipped on the next audit.
- Push PyAutoPrompt via
prompt_sync_push.
-
Close this PyAutoLens issue with a comment linking to the new repo and the initial scaffolding commit.
Key Files (in the NEW repo autolens_profiling)
README.md — vision / scope / dashboard placeholder / JAX-gradient note.
LICENSE — MIT, matching other PyAutoLabs repos.
.gitignore — mirrored from autolens_workspace_developer + profiler/cache additions.
{likelihood,simulators,searches,results}/README.md — placeholder section stubs.
Why this task does NOT use the standard /start_library worktree flow
The standard flow assumes an existing repo to branch from. Here:
- There is no existing repo —
gh repo create provisions one.
- There is no feature branch — initial scaffolding lands on
main directly.
- There is no PR — the first commit IS the repo's first commit.
The next session should treat this task as a one-shot scripted bootstrap, NOT invoke /start_library.
Pre-flight checks for the next session
Before doing any of step 2, verify:
gh auth status shows you authed to GitHub as someone with permissions on the PyAutoLabs org.
- The repo still doesn't exist (
gh repo view PyAutoLabs/autolens_profiling).
/home/jammy/Code/PyAutoLabs/autolens_profiling/ doesn't exist yet (ls /home/jammy/Code/PyAutoLabs/autolens_profiling).
- No other active task in
PyAutoPrompt/active.md is mid-flight on PyAutoLabs repo creation (currently none).
Original Prompt
The full prompt content is preserved at PyAutoPrompt/issued/bootstrap.md after this issue is created. The complete z_features roadmap (Phases 0–5) lives at PyAutoPrompt/z_features/autolens_profiling.md.
Overview
Bootstrap a new GitHub repository
PyAutoLabs/autolens_profilingthat will consolidate all PyAutoLens profiling work currently scattered acrossautolens_workspace_developer/jax_profiling/andsearches_minimal/. This is Phase 0 of the multi-phase z_features roadmap tracked atPyAutoPrompt/z_features/autolens_profiling.md— it creates the empty repo and scaffolding so Phases 1–5 (likelihood mirror, simulators mirror, Nautilus mirror, instrument-framed README dashboard, CI) have a clean place to land.This issue lives on
PyAutoLabs/PyAutoLensas a temporary home because the target repo does not yet exist. It can be closed once the new repo is live and contains the scaffolding committed via this task. Future phase issues will file onPyAutoLabs/autolens_profilingdirectly.Plan
PyAutoLabs/autolens_profiling(description: "Profiling and run-time tracking for PyAutoLens likelihood functions, simulators, and samplers across CPU, laptop GPU, and HPC GPU.")/home/jammy/Code/PyAutoLabs/autolens_profiling/so later phase work picks it up alongside the other PyAutoLabs repos.README.mdcovering vision/scope, a "JAX gradients out of scope for now" callout pointing toPyAutoLabs/autolens_workspace_developer/jax_profiling/gradient/, a "Related repos" section, and a guide to how the versionedresults/artifact pattern works.LICENSE(matching the MIT license other PyAutoLabs repos use) and.gitignore(mirrored fromautolens_workspace_developer).likelihood/,simulators/,searches/,results/— each containing only a placeholderREADME.mdthat says "populated by Phase N of the z_feature".pyproject.toml).main(no PR, no feature branch — this is the repo's first commit).PyAutoPrompt/z_features/autolens_profiling.mdto mark Phase 0 as shipped and link to the new repo.Detailed implementation plan
Affected Repositories
PyAutoLabs/PyAutoLens(issue tracker only — no code changes)PyAutoLabs/autolens_profiling(new repo, created by this task)PyAutoLabs/autolens_workspace_developer(read-only reference for.gitignore, results convention, CLAUDE.md profiling conventions; now public on PyAutoLabs as of 2026-05-16)Work Classification
Library-style work (creating a new code repo), but does not follow the standard
/start_libraryworktree flow because there is no pre-existing repo to branch from. Initial scaffolding goes straight tomainof the new repo.Execution Steps
Confirm the repo doesn't already exist (sanity check — last verified missing 2026-05-16):
Create the repo on GitHub:
gh repo create PyAutoLabs/autolens_profiling \ --public \ --description "Profiling and run-time tracking for PyAutoLens likelihood functions, simulators, and samplers across CPU, laptop GPU, and HPC GPU." \ --clone \ --add-readme=falseIf
--clonelands in the wrong directory, clone manually:Author
LICENSE— copy the MIT license from/home/jammy/Code/PyAutoLabs/PyAutoLens/LICENSE(verify it's MIT first; PyAutoLens uses MIT).Author
.gitignore— start from/home/jammy/Code/PyAutoLabs/autolens_workspace_developer/.gitignoreand add: profiler trace artifacts (*.prof,*.pstats), JAX cache (/tmp/jax_cache/,__jax_cache__/), numba cache, matplotlib config, scratch result dirs from local dev.Author top-level
README.mdwith these sections:PyAutoLabs/autolens_workspace_developer/jax_profiling/gradient/and will fold into this repo in a future phase once the gradient story stabilises."PyAutoLabs/PyAutoLens,PyAutoLabs/autolens_workspace,PyAutoLabs/autolens_workspace_developer, andJammy2211/autolens_colab_profiling(sibling, Colab-specific scope, not yet migrated to PyAutoLabs).results/**/*_summary_v<version>.{json,png}versioned-artifact pattern.likelihood/README.md,simulators/README.md,searches/README.md.PyAutoLabs/PyAutoPrompt/z_features/autolens_profiling.md(note: this PyAutoPrompt link is internal-only; consider also pasting the phase list into the README itself for public visibility).Create folder skeleton with placeholder READMEs:
Initial commit + push to
main:(Substitute the real PyAutoLens issue number once known.)
Mark Phase 0 shipped in the tracker:
PyAutoPrompt/z_features/autolens_profiling.mdPhase 0 row to add a "shipped" indicator and link to the new repo.autolens-profiling-bootstraptoPyAutoPrompt/complete.mdso the z_features tracker audit (via/start_dev z_features/autolens_profiling.md) picks it up as shipped on the next audit.prompt_sync_push.Close this PyAutoLens issue with a comment linking to the new repo and the initial scaffolding commit.
Key Files (in the NEW repo
autolens_profiling)README.md— vision / scope / dashboard placeholder / JAX-gradient note.LICENSE— MIT, matching other PyAutoLabs repos..gitignore— mirrored fromautolens_workspace_developer+ profiler/cache additions.{likelihood,simulators,searches,results}/README.md— placeholder section stubs.Why this task does NOT use the standard
/start_libraryworktree flowThe standard flow assumes an existing repo to branch from. Here:
gh repo createprovisions one.maindirectly.The next session should treat this task as a one-shot scripted bootstrap, NOT invoke
/start_library.Pre-flight checks for the next session
Before doing any of step 2, verify:
gh auth statusshows you authed to GitHub as someone with permissions on the PyAutoLabs org.gh repo view PyAutoLabs/autolens_profiling)./home/jammy/Code/PyAutoLabs/autolens_profiling/doesn't exist yet (ls /home/jammy/Code/PyAutoLabs/autolens_profiling).PyAutoPrompt/active.mdis mid-flight on PyAutoLabs repo creation (currently none).Original Prompt
The full prompt content is preserved at
PyAutoPrompt/issued/bootstrap.mdafter this issue is created. The complete z_features roadmap (Phases 0–5) lives atPyAutoPrompt/z_features/autolens_profiling.md.