Skip to content

repos_sync: keep public front-door organ tables in step with repos.yaml #69

Description

@Jammy2211

Bring the public front-door organ tables under repos_sync.py so a new organ added to repos.yaml can never silently drop out of the public docs — as Gut just did (fixed by hand on 2026-07-13).

Prompt: feature/pyautomind/public_organ_tables_repos_sync.md. Autonomy: supervised. Run launched with --auto.

Decisions settled with the maintainer

  • Front-door organ set = 7 (Mind, Brain, Hands, Heart, Memory, Gut, Nerves). Nerves/PyAutoConf is category: library per ORGANISM.md but is included on the public front door via an explicit front_door: true flag. Internal AGENTS.md organism maps stay at the 6 category: organ repos (unchanged); escalating Nerves to a full organ everywhere is a separate doctrine edit if wanted later.
  • The three external front-door repos are now cloned locally, so repos_sync generates/checks them in-tree (marker-block idiom), not via gh-API.

High-level plan

  • Make repos.yaml the single source for the public organ copy (add front_door + public_role).
  • Teach repos_sync.py to generate the organ table into the two front-door READMEs and to presence-check the hub blurb.
  • Wire generate→--write, verify→--check (already run by /morning and /health); soft-skip any target not checked out.

Detailed plan

  • repos.yaml: add front_door: true to PyAutoConf; add public_role: to the 7 front-door repos, seeded verbatim from the current curated public copy (so generation preserves the good text).
  • scripts/repos_sync.py:
    • ORGANS_BEGIN/END = <!-- repos_sync:organs:begin/end -->.
    • public_organs(repos) = category==organ rows (manifest order) + front_door rows → 7.
    • organ_public_table(repos, *, bold)| Organ | Repo | Role | using public_role; repo cell bold-linked (.github) or plain-linked (PyAutoScientist).
    • Targets (soft-skip when absent): .github/profile/README.md (bold), PyAutoScientist/README.md (plain).
    • --write: write_block(..., ORGANS_BEGIN, ORGANS_END, required=False) for both.
    • --check: extract_block comparison for the two tables + check_hub_blurb (every organ label present in pyautolabs.github.io/index.html).
  • Insert the organs markers around the existing tables in both READMEs (one-time).
  • Verify: --write produces only the intended canonicalisation; --check clean; deleting an organ row makes --check fail naming the organ+doc.

Scope / ship

Touches 3 repos → 3 PRs: PyAutoMind (repos_sync.py + repos.yaml), .github, PyAutoScientist. pyautolabs.github.io is presence-checked only (already contains all 7). Heart is not GREEN and level is supervised, so the run ends at PR-open — merges stay human.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions