body-map: declare the package each repo ships - #333
Merged
Conversation
`package:` names the import/PyPI package a repo ships, absent where it ships none. It is identity, not policy — the OTHER name a repo is known by, and the one prompts overwhelmingly use for the libraries (`@autofit`, not `@PyAutoFit`). PyAutoBrain needs exactly this bit to derive its canonical routing key: the package where a repo ships one, the repo name where it does not. Without it the bare and prefixed spellings of a repo split across two keys, and a policy map filed under one is invisible to the other — a defect four repos hit in sequence (PyAutoBrain#267, #269, #287), each time surfacing only as a wrong-but-plausible conductor message rather than a failure. Seven repos ship one: the six libraries and the Nerves organ. Each value is cross-checked against the Brain witness map's `test_<package>` rows by a new guard there; those rows were verified at #269 by reading each repository's own tree. `repos_sync.py --check`: all 13 legs OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nj7cTnL8Ke5WoNsdGVhCKn
`dashboard_refresh.yml` failed the PR run: the previous commit changed the task's `active.md` entry without re-rendering, and a PR run errors on drift rather than self-healing (only pushes to `main` heal). Verified the render is identical under the Brain at `origin/main` and under this task's Brain branch, so the page CI regenerates is the page committed here — the `REPO_DISPLAY` derivation in the sibling PR does not move it. `registry_toc --check` fresh, `intake dashboard --check` current, `lifecycle check` OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nj7cTnL8Ke5WoNsdGVhCKn
main advanced while this task was in flight (status-sh-repos-missing-source retired, #331 → #332). The only conflict was dashboard.html, a generated file — resolved by regenerating dashboard.md/.html with `intake --apply dashboard`, never by hand. `dashboard --check` current, `registry_toc --check` fresh, `lifecycle check` and `lifecycle index --check` OK, `repos_sync --check` all 13 legs OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nj7cTnL8Ke5WoNsdGVhCKn
This was referenced Aug 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mind half of PyAutoLabs/PyAutoBrain#287. Merge this first — the Brain half reads this field.
What changed
repos.yamlgains apackage:key on the seven repos that ship one: the six libraries and the Nerves organ. Plus the header comment documenting it, alongsidepublic_role/front_door.It is identity, not policy — the other name a repo is known by, and the one prompts overwhelmingly use for the libraries (
@autofit, not@PyAutoFit). The body map is where repo identity lives, so that is where it goes.Why the Brain needs it
PyAutoBrain derives its canonical routing key from exactly this bit: the package where a repo ships one, the repo name where it does not. Without it the bare and prefixed spellings of a repo split across two keys, and a policy map filed under one is invisible to the other — the defect four repos hit in sequence (#267, #269, #287 in PyAutoBrain), each time surfacing not as a failure but as a wrong-but-plausible conductor message:
[unwitnessed: autobrain], "strengthen tests first", for the best-tested repo in the organism.Verification
Every value is cross-checked against the Brain witness map's
test_<package>rows by a new guard in the sibling PR, so the two sources corroborate each other rather than being two unchecked transcriptions of one fact. Those rows were each verified at PyAutoBrain#269 by reading the repository's own tree.python3 scripts/repos_sync.py --check— all 13 legs OK, including the tenant firewall and the generated organism-map blocks.Also in this branch: the task's own Mind lifecycle (prompt
draft/→active/,active.mdentry, dashboard regenerated).Generated by Claude Code