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
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ 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 `<lib>_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). |
| **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. |
| **Gut** | PyAutoGut | Owns the lifecycle of condemned self-material (stale branches, stashes, dead code/tests): holds it as durable, recoverable git refs through a transit window and voids it on a sweep. The storage mirror of Memory (retention vs release). |
| **Eyes** | PyAutoEyes | The Eyes — where the organism sees what its figures look like: the cross-project visualization dashboard over the `<lib>_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). |

Call chain (always this order): **Brain → Heart (gate) → Build (execute)**. Brain agents are **conductors** (front-door; a human drives them; they decide *and* act) or **faculties** (read-only opinions the conductors consult; they judge and stop). New capability grows as a faculty, not a new organ, unless it owns state or effects no existing organ can.

Expand Down
2 changes: 1 addition & 1 deletion ORGANISM.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ organs plan, build, test and release it, and you make every judgment call.
| **Mind** | PyAutoMind | Decides *what* — intent, goals, priorities, workflow state, the prompt registry and taxonomy. Also holds the body map (`repos.yaml`, the single source of repo identity). |
| **Cortex** | PyAutoCortex | Keeps track of *what is true* — the science body map (`projects.yaml`) and **one ledger per science project** (`## Now`, the `## Runs` on the cluster, a `## Log` that only gets longer); the science mirror of the Mind (runs and a dated log ↔ prompts and PRs). Not a task tracker: it records cluster facts and the human's words, never a verdict of its own. |
| **Memory** | PyAutoMemory | Long-term knowledge — *what the science says* (literature wikis, concepts, bibliographies). Operational history — *what the organism did* — lives in Mind (the `complete/` records, issues), not here. |
| **Eyes** | PyAutoEyes | Sees *what the figures look like* — one rendered gallery per library (lens, galaxy, fit, cti) of every visualizer output on realistic data, the harness that renders them, the instance registry and the board that is the single point of contact for the visual behaviour of the whole ecosystem. Plain git PNGs, re-rendered on library release. The Eyes see what is true of the figures — the perception mirror of the Heart (what the software shows, not whether it is healthy); the Brain's Eyes conductor drives it and does the judging, as vitals reads Heart. Renders and holds figures; never judges them and never edits library plot code (critiques route through intake). |
| **Heart** | PyAutoHeart | Determines whether the organism is healthy. `pyauto-heart readiness` is the **authoritative** GREEN/YELLOW/RED "is it safe to release?" gate. An observer: never writes into other repos, never triggers Build. |
| **Hands** | PyAutoHands | Builds and releases — packaging, tagging, notebook generation, PyPI via `release.yml`. A pure executor: runs no readiness checks and never re-derives a gate decision. |
| **Nerves** | PyAutoNerves | The configuration/serialization layer (`autonerves`) — layered config with overrides, the workspace↔library version handshake, `test_mode`, FITS/JSON I/O. Connects the organism's conventions to every library; the base layer the scientific libraries all import. |
| **Gut** | PyAutoGut | Owns the lifecycle of *condemned self-material* — stale branches, stashes, dead code/tests. Holds each as a durable, recoverable git ref through a transit window and **voids** it on a sweep. The storage mirror of Memory (retention ↔ release); the hygiene conductor drives it, as vitals reads Heart. |
| **Eyes** | PyAutoEyes | Sees *what the figures look like* — one rendered gallery per library (lens, galaxy, fit, cti) of every visualizer output on realistic data, the harness that renders them, the instance registry and the board that is the single point of contact for the visual behaviour of the whole ecosystem. Plain git PNGs, re-rendered on library release. The Eyes see what is true of the figures — the perception mirror of the Heart (what the software shows, not whether it is healthy); the Brain's Eyes conductor drives it and does the judging, as vitals reads Heart. Renders and holds figures; never judges them and never edits library plot code (critiques route through intake). |

*Hands* and *Build* name the **same organ** (PyAutoHands) throughout this
document: the organ is the **Hands**, and *Build* is the call-chain step it
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,9 @@ adapters with the skill. Regeneration checks name collisions across the installe
repository inventory and refuses conflicting user-owned destinations.

The nine organs the Brain coordinates — Brain (reasoning), Mind (intent),
Cortex (learning what is true), Memory (knowledge), Heart (health), Hands
(release), Nerves (configuration), Gut (shedding), Eyes (seeing the figures) —
Cortex (learning what is true), Memory (knowledge), Eyes (seeing the
figures), Heart (health), Hands (release), Nerves (configuration), Gut
(shedding) —
are defined once in
[ORGANISM.md](ORGANISM.md), which this
repo hosts. Agent contracts and the generated command table are in
Expand Down
2 changes: 1 addition & 1 deletion agents/_pyauto_root.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@
"PyAutoMind",
"PyAutoCortex",
"PyAutoMemory",
"PyAutoEyes",
"PyAutoHeart",
"PyAutoHands",
"PyAutoNerves",
"PyAutoGut",
"PyAutoEyes",
)

# A workspace root says so itself by holding this file. It is deliberately
Expand Down
6 changes: 3 additions & 3 deletions bin/_pyauto_root.sh
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ _pyauto_marked_root() {
# the body map every consumer wants), but a Brain-only remote session is still
# a legitimate root, so accept any organ sibling.
_pyauto_is_root() {
[ -d "$1/PyAutoMind" ] || [ -d "$1/PyAutoHeart" ] || [ -d "$1/PyAutoHands" ] \
|| [ -d "$1/PyAutoMemory" ] || [ -d "$1/PyAutoGut" ] || [ -d "$1/PyAutoNerves" ] \
|| [ -d "$1/PyAutoCortex" ] || [ -d "$1/PyAutoEyes" ]
[ -d "$1/PyAutoMind" ] || [ -d "$1/PyAutoCortex" ] || [ -d "$1/PyAutoMemory" ] \
|| [ -d "$1/PyAutoEyes" ] || [ -d "$1/PyAutoHeart" ] || [ -d "$1/PyAutoHands" ] \
|| [ -d "$1/PyAutoNerves" ] || [ -d "$1/PyAutoGut" ]
}

# Assigns PYAUTO_ROOT and PYAUTO_ROOT_REASON rather than printing: one
Expand Down
8 changes: 4 additions & 4 deletions docs/concepts/organism.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ it and adds the framework/instance distinction an adopter needs.
| **Mind** | PyAutoMind | Decides *what* — intent, goals, priorities, workflow state, the prompt registry, and the body map (`repos.yaml`). |
| **Cortex** | PyAutoCortex | *Keeps track of what is true* — the science body map (`projects.yaml`) and one ledger per science project (`## Now`, the `## Runs` on the cluster, a `## Log` that only gets longer); the science mirror of the Mind (runs and a dated log ↔ prompts and PRs). Not a task tracker: it records cluster facts and the human's words, never a verdict of its own. |
| **Memory** | PyAutoMemory | *Knows* — long-term domain knowledge: literature wikis, concepts, bibliographies. Pull-only; consulted, never load-bearing at runtime. |
| **Eyes** | PyAutoEyes | *Sees* — one rendered gallery per library (lens, galaxy, fit, cti) of every visualizer output on realistic data, the render harness, the instance registry and the board: the single point of contact for what the software shows. The perception mirror of the Heart (what the software shows, not whether it is healthy); renders and holds figures, never judges them — the Brain's Eyes conductor does. |
| **Heart** | PyAutoHeart | Decides whether the organism is *healthy*. `pyauto-heart readiness` is the authoritative GREEN/YELLOW/RED release gate. An observer: never writes into other repos, never triggers a build. |
| **Hands** | PyAutoHands | *Does* — packaging, tagging, notebook generation, PyPI releases. A pure executor: never re-derives a gate decision. |
| **Nerves** | PyAutoNerves | *Connects* — the configuration/serialization layer (`autonerves`): layered config, the workspace↔library version handshake, `test_mode`, FITS/JSON I/O. The base layer every library imports. |
| **Gut** | PyAutoGut | *Sheds* — the lifecycle of condemned self-material (stale branches, stashes, dead code/tests): holds each as a durable, recoverable git ref through a transit window, then **voids** it on a sweep. The storage mirror of Memory (retention ↔ release); the hygiene conductor drives it, as vitals reads Heart. |
| **Eyes** | PyAutoEyes | *Sees* — one rendered gallery per library (lens, galaxy, fit, cti) of every visualizer output on realistic data, the render harness, the instance registry and the board: the single point of contact for what the software shows. The perception mirror of the Heart (what the software shows, not whether it is healthy); renders and holds figures, never judges them — the Brain's Eyes conductor does. |

Everything else — the libraries being developed, their example workspaces,
test suites, tutorials — is a **satellite**: a capability the organism works
Expand All @@ -44,10 +44,10 @@ The organs split on one line that matters for adoption:
pipelines. Domain facts appear only in declared config surfaces (tables
and policy files, not logic), and a drift check — the
{ref}`tenant firewall <tenant-firewall>` — keeps it that way.
- **Instance organs — Mind, Cortex, Memory, Gut, Eyes.** Committed state,
ledgers, knowledge, shed material, and rendered figures. These are
- **Instance organs — Mind, Cortex, Memory, Eyes, Gut.** Committed state,
ledgers, knowledge, rendered figures, and shed material. These are
*inherently yours*: an adopter never forks the upstream Mind, Cortex, Memory,
Gut or Eyes content, they create their own repos with the same documented
Eyes or Gut content, they create their own repos with the same documented
shape.

One more principle worth knowing before you read anything else:
Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
PyAutoScientist is a working, opinionated reference implementation of an
**AI-agent development organism** for human-led, natural-language software
development: a set of nine git repositories — Brain, Mind, Cortex, Memory,
Heart, Hands, Nerves, Gut, Eyes — through which you lead a multi-repo project in
Eyes, Heart, Hands, Nerves, Gut — through which you lead a multi-repo project in
plain English. You
describe what you want; AI agents plan, implement, test, gate and release
it; you make every judgment call.
Expand Down Expand Up @@ -57,10 +57,10 @@ organs/brain
organs/mind
organs/cortex
organs/memory
organs/eyes
organs/heart
organs/build
organs/gut
organs/eyes
```

```{toctree}
Expand Down
Loading