From 7ab060520debeeaace01598160af53d94285a1ff Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Tue, 29 Sep 2026 09:39:50 +0100 Subject: [PATCH] docs: Eyes conductor, skill and clean_slate name the galaxy instance (PyAutoEyes 3) Prose only: two registered instances (lens, galaxy; --instance galaxy), plus the regenerated organism-map block. PyAutoMind#452 Co-Authored-By: Claude Fable 5.1 --- AGENTS.md | 2 +- agents/conductors/eyes/AGENTS.md | 7 +++++-- bin/clean_slate.sh | 3 ++- docs/organs/eyes.md | 7 ++++--- skills/eyes/eyes.md | 9 ++++++--- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9cbff9a..85dde5d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,7 +20,7 @@ Canonical boundaries live in `PyAutoBrain/ORGANISM.md`; the full body map | **Mind** | PyAutoMind | Intent, goals, priorities, workflow state; every task starts as a markdown prompt here. | | **Cortex** | PyAutoCortex | The Cortex — where the organism keeps track of what is true: the science body map (`projects.yaml`) and one ledger per science project (what was run, what came back, what was learned, where to pick up); the science mirror of the Mind (runs and a dated log, not prompts and PRs). | | **Memory** | PyAutoMemory | Long-term scientific/software/project knowledge (see science pointer below). | -| **Eyes** | PyAutoEyes | The Eyes — where the organism sees what its figures look like: the cross-project visualization dashboard over the `_visualization` project repos (autolens_visualization first) — the registry of those repos, the tracked-manifest read contract (`gallery/viz_manifest.yaml`) and the Pages board that links to their PNGs as the single point of contact for the visual behaviour of the whole ecosystem. Renders nothing and copies no figures (the project repos render and hold them); never judges them (the Brain's Eyes conductor does) and never edits library plot code (critiques route through intake). | +| **Eyes** | PyAutoEyes | The Eyes — where the organism sees what its figures look like: the cross-project visualization dashboard over the `_visualization` project repos (autolens_visualization and autogalaxy_visualization) — the registry of those repos, the tracked-manifest read contract (`gallery/viz_manifest.yaml`) and the Pages board that links to their PNGs as the single point of contact for the visual behaviour of the whole ecosystem. Renders nothing and copies no figures (the project repos render and hold them); never judges them (the Brain's Eyes conductor does) and never edits library plot code (critiques route through intake). | | **Heart** | PyAutoHeart | Health/readiness — the authoritative "is it safe to release?" verdict. | | **Hands** | PyAutoHands | Packaging, tagging, notebook generation, PyPI release execution. | | **Nerves** | PyAutoNerves | The Nerves — the configuration/serialization layer connecting workspace conventions to libraries (layered config, version handshake, test_mode), delivered as the `autonerves` package. | diff --git a/agents/conductors/eyes/AGENTS.md b/agents/conductors/eyes/AGENTS.md index 34b5b0d..7de9dea 100644 --- a/agents/conductors/eyes/AGENTS.md +++ b/agents/conductors/eyes/AGENTS.md @@ -25,11 +25,14 @@ visualization scripts, plus `output/gallery/` from its gallery builder. The workspace root is always a CLI argument — the `.py`/`.sh` here name no repositories (tenant firewall); the instance pointer lives in this prose and in the `/eyes` skill. Default instance: the lens visualization project repo, -**`lens/autolens_visualization`**. `autolens_workspace_test` remains a +**`lens/autolens_visualization`**; the galaxy project repo +**`galaxy/autogalaxy_visualization`** is the second registered instance +(`--instance galaxy`). `autolens_workspace_test` remains a secondary instance (its `gallery/` harness is retired by PyAutoEyes phase 5). Two layers (human decision 2026-09-28): **project repos** -`_visualization` (lens first: `lens/autolens_visualization`) make, store +`_visualization` (two today: `lens/autolens_visualization` and +`galaxy/autogalaxy_visualization`) make, store and track one library's figures — producers, datasets, tracked PNGs, `GALLERY.md`, a tracked `gallery/viz_manifest.yaml` and the `gallery/gallery_run.sh` harness; **the organ PyAutoEyes** is the diff --git a/bin/clean_slate.sh b/bin/clean_slate.sh index 0d3b991..41b21f7 100755 --- a/bin/clean_slate.sh +++ b/bin/clean_slate.sh @@ -76,7 +76,8 @@ PACKAGING_REPOS=(PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens) # for the same reason (JWST cosmos_web_ring); its local checkout was removed in # 2026-09 (PyAutoBrain#389) and the repo lives on GitHub only. The # visualization project repos (`_visualization`, category project in the -# body map; the lens one sits under lens/) are excluded too: their dataset/ +# body map; the lens one sits under lens/, the galaxy one under galaxy/) are +# excluded too: their dataset/ # trees are the tracked realistic inputs their galleries are rendered from (the # lens hst imaging is a byte-identical copy of autolens_profiling's) and their # PNG renders are the tracked record (re-rendered on library release only) — diff --git a/docs/organs/eyes.md b/docs/organs/eyes.md index 9684d7f..d104e0f 100644 --- a/docs/organs/eyes.md +++ b/docs/organs/eyes.md @@ -1,8 +1,8 @@ # Eyes — PyAutoEyes **What it owns:** the *perception lifecycle* as a **cross-project dashboard** -over the `_visualization` project repos (lens first: -`autolens_visualization`) — the registry of those repos, the read contract of +over the `_visualization` project repos (`autolens_visualization` and +`autogalaxy_visualization`) — the registry of those repos, the read contract of their tracked `gallery/viz_manifest.yaml` manifests and the board that links to their PNGs. The project repos render and hold the figures; the organ renders nothing and copies no figures. The Eyes are the perception mirror of the @@ -29,7 +29,8 @@ Each instance is a project repo `_visualization` with the same layout — renders, a tracked `gallery/viz_manifest.yaml` (every figure's producer, domain, source type, path, size and content hash, plus the stack it was rendered with), `output/gallery/gallery.html` and a `GALLERY.md` index. -`autolens_visualization` is the first; galaxy, fit and cti follow. The organ's +`autolens_visualization` and `autogalaxy_visualization` are registered; fit +and cti follow. The organ's instance registry (`registry.yaml`, PyAutoEyes phase 1b/2) names every instance, its library and its domains, and the board shows each one's figure count, stale renders, gaps and open critiques — the single point of contact diff --git a/skills/eyes/eyes.md b/skills/eyes/eyes.md index b4bf2ca..7358ee5 100644 --- a/skills/eyes/eyes.md +++ b/skills/eyes/eyes.md @@ -6,19 +6,22 @@ function*). You never name the Brain; this command is the door. Shared routing context: `PyAutoBrain/skills/COMMANDS.md`. The default visualization instance is the lens visualization project repo, -**`lens/autolens_visualization`**. `autolens_workspace_test` (the original +**`lens/autolens_visualization`**; the galaxy project repo +**`galaxy/autogalaxy_visualization`** is the second instance. `autolens_workspace_test` (the original reference instance from epic PyAutoBrain#117 Phase 1) remains a secondary instance; pass a different instance root to review another project. Two layers (human decision 2026-09-28): **project repos** -`_visualization` (lens first: `lens/autolens_visualization`) make, store +`_visualization` (two today: `lens/autolens_visualization` and +`galaxy/autogalaxy_visualization`) make, store and track one library's figures — producers, datasets, tracked PNGs, `GALLERY.md`, a tracked `gallery/viz_manifest.yaml` and the `gallery/gallery_run.sh` harness; **the organ PyAutoEyes** is the cross-project dashboard that reads each project repo's tracked manifest and links to its PNGs — it renders nothing and copies no figures. The organ's `registry.yaml` lists every instance. Name one with `--instance ` (the -lens instance is `lens`), or hand the conductor the PyAutoEyes root to cover +lens instance is `lens`, the galaxy instance `galaxy` — e.g. +`--instance galaxy`), or hand the conductor the PyAutoEyes root to cover them all. ## Do