Skip to content

feat(void): the Void button reaches refs held on sibling repos #11

Description

@Jammy2211

Human request (2026-09-26, verbatim)

do all of those but not the Eyes one which is tomrorow

Overview

Bundle cockpit-followups, member gut-void-sibling-reach (siblings: nerves-unused-keys, start-dev-heart-gate). Epic organ-cockpit.

Member 2 — gut-void-sibling-reach (PyAutoGut, feature/gut-void-sibling-reach)

Context: void.yml deletes only in PyAutoGut; 8 overdue refs live on Mind/Brain/Heart/Lens/Galaxy ("held on
another repo" bucket, feed yellow). Brain's branch_archive.yml already pushes cross-repo with
secrets.PAT_PYAUTOLABS (PAT403 precedent: newborn repos may be missing from the PAT — report per ref).

  1. scripts/board.py: --void-plan carries repo per name (PyAutoGut or the sibling); "held on another repo"
    rows get the Void permanently button (issue body names the repo); "Void all due" includes them.
  2. void.yml: per name, if repo != PyAutoGut → require PAT_PYAUTOLABS (missing → "skipped: no PAT"),
    git ls-remote https://github.com/<owner>/<repo>.git <ref> → SHA → git push https://x-access-token:${PAT}@github.com/<owner>/<repo>.git --delete <ref> (token never echoed; use
    GIT_ASKPASS/env, not the URL in logs) → verify. Comment table gains a repo column; 403 → per-ref failure;
    issue closes completed only if every requested ref voided or skipped-by-design; else stays open.
  3. Tests: void-plan carries repo; workflow YAML has the PAT branch and per-ref failure text; board renders the
    button on elsewhere rows. README/AGENTS: the reach and its PAT dependency.
    Witness: human voids one overdue sibling ref → gone, issue closed with SHA, "due on other repos" drops by one.

Claims / branches

PyAutoNerves, PyAutoGut, PyAutoBrain all on clean main; all claimed by eyes-organ-order (disjoint files; Nerves
and Gut AGENTS.md get new sections — merge-safe), Brain also by cosmos-web-ring-greeting. Shared worktree
cockpit-followups with per-repo member branches (rename after worktree_create), parallel-claim: recorded.

Execution (Fable session)

Three issues (one per repo) → three active.md entries → worktree → three Opus subagents in parallel (different
repos), progress files + one Monitor → ship each: Heart YELLOW → ask ack once for the bundle → merge on green →
member 2: dispatch gut_board.yml; member 1: dispatch nerves_board.yml; member 3: nothing to deploy → verify →
close-out per member → then file + run workspace-config-cleanup using the unused-keys output.

Verification

  • Nerves: pytest test_autonerves -q; real collect → count of unused keys per library (report), state: ok.
  • Gut: pytest tests -q; void-plan on the real ledger shows the 8 sibling names with their repos; YAML parses.
  • Brain: pytest tests/test_heart_feed.py tests/test_policy_seams.py -q; bin/heart_feed.py against the live
    feed prints the current status and exits accordingly.
  • Firewall --root <wt> OK for all three.

Original Prompt

Click to expand starting prompt

Organ cockpit: Gut void button reaches refs held on sibling repos

Type: feature
Target: PyAutoGut
Repos:

  • PyAutoGut
    Difficulty: small
    Autonomy: safe
    Priority: high
    Status: formalised
    Consequence: glance
    Witness: the human presses Void permanently on one of the 8 overdue sibling refs → the ref disappears from that repo, the issue closes with the SHA, the board's 'due on other repos' count drops by one.
    Review-minutes: 3
    Unattended: ready
    Filed: 2026-09-26
    Epic: organ-cockpit

The Gut board (PyAutoGut#9, shipped 2026-09-26) voids refs with the repo's own token, so it can only delete refs under refs/heads/archive/condemned/ in PyAutoGut itself. The ledger's 8 overdue entries are refs archived onto sibling repos (PyAutoMind 3, PyAutoBrain 2, PyAutoHeart, PyAutoLens, PyAutoGalaxy) — the board lists them under 'held on another repo' with only a void-via-session payload, and they keep the feed yellow. The human wants the button to remove everything.

  1. void.yml: when the void-plan resolves a name to a ref held 'on origin', delete it there with secrets.PAT_PYAUTOLABS (the token branch_archive.yml already uses for cross-repo pushes): ls-remote the sibling → record the SHA → git push https://x-access-token:PAT@github.com//.git --delete → verify. A missing or 403 token reports per ref in the closing comment and leaves that ref in place; the issue closes only if every requested ref was voided or explicitly skipped.
  2. scripts/board.py: rows in 'held on another repo' gain the Void permanently button (prefilled issue with the repo named in the body); 'Void all due' covers them; the void-plan JSON carries the repo per name.
  3. Tests: void-plan carries the repo; the workflow YAML contains the PAT path and the per-ref failure handling; the board renders the button on elsewhere rows.

Out of scope: editing the Mind ledger from the workflow (still a session act); orphans on sibling repos with no ledger entry.

Witness: the human presses Void permanently on one of the 8 overdue sibling refs → the ref disappears from that repo, the issue closes with the SHA, the board's 'due on other repos' count drops by one.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SbKQQHRRgm2b69aT9t7771

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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