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
6 changes: 6 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ For the full workflow narrative, conventions, and registry schemas, read
`parked.md` holds tasks that were started or scoped but are not currently
in flight (e.g. work parked in a stash, orphan worktrees); move back to
`active.md` (or `planned.md` if re-scoping) when resuming.
- **Body map** — `repos.yaml` is the single source of repo *identity* (GitHub
home, category, one-line role) for every repo in the workspace. The routing
table in the workspace-root `AGENTS.md` and the owner map in
`PyAutoBrain/skills/WORKFLOW.md` are generated from it, and the repo lists in
Heart/Build/admin scripts are drift-checked against it:
`python3 scripts/repos_sync.py --write`.
- **Skills** — `skills/<name>/` are Claude Code skills/commands tightly coupled
to the registry. They source `scripts/prompt_sync.sh` for commit/push.
- **Scripts** — `scripts/status.sh` (inventory), `scripts/prompt_sync.sh`
Expand Down
3 changes: 3 additions & 0 deletions ROUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ domain is affected.

## Targets (second folder)

The canonical list of repos (with GitHub home, category and role) is
`repos.yaml` in this repo — the organism's body map.

The second folder names the affected repo or domain, e.g. `autoarray`, `autofit`,
`autogalaxy`, `autolens`, `autolens_assistant`, `autolens_profiling`,
`autolens_workspace_developer`, `autobuild`, `pyautobrain`; the workspace bucket
Expand Down
150 changes: 150 additions & 0 deletions repos.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# repos.yaml — the organism's body map: the single source of repo IDENTITY.
#
# Identity only: GitHub home, category, one-line role. Per-organ POLICY stays
# with the organ that owns it — what Heart polls/gates lives in
# PyAutoHeart/config/repos.yaml; what pre_build formats/generates lives in
# PyAutoBuild/pre_build.sh. Those files must agree with this one on identity;
# `scripts/repos_sync.py --check` enforces it (including against the actual
# `git remote` of every local checkout).
#
# After editing this file:
#
# python3 PyAutoMind/scripts/repos_sync.py --write
#
# regenerates the routing table in <workspace-root>/AGENTS.md and the owner
# map in PyAutoBrain/skills/WORKFLOW.md, then re-runs the drift checks.
#
# Categories with `collapse: true` render as ONE row (label + role) in the
# routing table, to keep it token-lean; other categories render one row per
# repo using the repo's own `role:`.

categories:
organ: {}
library: {}
workspace:
collapse: true
label: "autofit/autogalaxy/autolens_workspace"
role: "User-facing example scripts, tutorials, configs for each library."
workspace_test:
collapse: true
label: "\\*_workspace_test"
role: "Regression, smoke and parity scripts (code-heavy, doc-light)."
workspace_developer:
collapse: true
label: "\\*_workspace_developer"
role: "Developer / profiling / experiment scripts (code-heavy, doc-light)."
howto:
collapse: true
label: "HowToFit / HowToGalaxy / HowToLens"
role: "Narrative teaching tutorials."
assistant:
collapse: true
label: "autolens_assistant / euclid_assistant"
role: "Science-assistant workspaces (see lensing pointer below)."
pipeline: {}
project: {}
admin: {}

repos:
# --- organs -----------------------------------------------------------
PyAutoMind:
github: PyAutoLabs/PyAutoMind
category: organ
role: "Intent, goals, priorities, workflow state; every task starts as a markdown prompt here."
PyAutoBrain:
github: PyAutoLabs/PyAutoBrain
category: organ
role: "Reasoning/orchestration layer; how work is decomposed and routed; the specialist agents."
PyAutoBuild:
github: PyAutoLabs/PyAutoBuild
category: organ
role: "Packaging, tagging, notebook generation, PyPI release execution."
PyAutoHeart:
github: PyAutoLabs/PyAutoHeart
category: organ
role: "Health/readiness — the authoritative \"is it safe to release?\" verdict."
PyAutoMemory:
github: PyAutoLabs/PyAutoMemory
category: organ
role: "Long-term scientific/software/project knowledge (see science pointer below)."

# --- scientific libraries ----------------------------------------------
PyAutoConf:
github: PyAutoLabs/PyAutoConf
category: library
role: "Shared config + shared utilities used across the stack."
PyAutoFit:
github: PyAutoLabs/PyAutoFit
category: library
role: "Model-fitting / non-linear search / aggregator library."
PyAutoArray:
github: PyAutoLabs/PyAutoArray
category: library
role: "Data structures (arrays, grids, masks), inversions, interferometry."
PyAutoGalaxy:
github: PyAutoLabs/PyAutoGalaxy
category: library
role: "Galaxy light/mass profiles and galaxy modelling."
PyAutoLens:
github: PyAutoLabs/PyAutoLens
category: library
role: "Strong-lensing modelling built on the libraries above."

# --- workspaces ---------------------------------------------------------
autofit_workspace:
github: PyAutoLabs/autofit_workspace
category: workspace
autogalaxy_workspace:
github: PyAutoLabs/autogalaxy_workspace
category: workspace
autolens_workspace:
github: PyAutoLabs/autolens_workspace
category: workspace
autofit_workspace_test:
github: PyAutoLabs/autofit_workspace_test
category: workspace_test
autogalaxy_workspace_test:
github: PyAutoLabs/autogalaxy_workspace_test
category: workspace_test
autolens_workspace_test:
github: PyAutoLabs/autolens_workspace_test
category: workspace_test
autofit_workspace_developer:
github: Jammy2211/autofit_workspace_developer
category: workspace_developer
autolens_workspace_developer:
github: PyAutoLabs/autolens_workspace_developer
category: workspace_developer

# --- tutorials ----------------------------------------------------------
HowToFit:
github: PyAutoLabs/HowToFit
category: howto
HowToGalaxy:
github: PyAutoLabs/HowToGalaxy
category: howto
HowToLens:
github: PyAutoLabs/HowToLens
category: howto

# --- assistants / pipelines / projects ----------------------------------
autolens_assistant:
github: PyAutoLabs/autolens_assistant
category: assistant
euclid_assistant:
github: Jammy2211/euclid_assistant
category: assistant
euclid_strong_lens_modeling_pipeline:
github: PyAutoLabs/euclid_strong_lens_modeling_pipeline
category: pipeline
role: "Euclid pipeline glue (library/pipeline changes go here, not z_projects/euclid)."
autolens_profiling:
github: PyAutoLabs/autolens_profiling
category: project
role: "JAX likelihood-profiling runs and results."

# --- admin ---------------------------------------------------------------
admin_jammy:
github: Jammy2211/admin_jammy
category: admin
role: "Local tooling, worktree helpers, some skills."
Loading