Skip to content

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

Closed

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

  1. Jammy2211 commented on Sep 26, 2026

    @Jammy2211
    ContributorAuthor

    Checkpoint (2026-09-26, end of session)

    Built and committed locally, not pushed, no PR: d956c380 on feature/gut-void-sibling-reach in the bundle worktree ~/Code/PyAutoLabs-wt/cockpit-followups/PyAutoGut. Tests 23 passed. void-plan carries repo per name (8 overdue sibling refs with SHAs verified by ls-remote); Void permanently on 'held on another repo' rows; void.yml deletes on siblings with PAT_PYAUTOLABS via a GIT_CONFIG Authorization header (masked, never in a URL), per-ref failure rows, issue stays open on any failure; Void links 44 → 53.

    Heart is YELLOW (three pre-existing organism-map drift reasons); shipping waits on the human's acknowledgement. Resume tomorrow: /ship_library for the bundle cockpit-followups (push + PR + merge on green), then dispatch the board workflow where one exists, then /prm.

  2. Jammy2211 commented on Sep 27, 2026

    @Jammy2211
    ContributorAuthor

    Library PR Created

    • PR: Gut void button reaches condemned refs held on sibling repos (#11) #12 (label pending-release, head d956c380)
    • Tests: tests: 23 passed
    • API changes: none (board script and workflow). --void-plan entries become {name, repo, sha}, and void.yml deletes sibling-repo refs via PAT_PYAUTOLABS (GIT_CONFIG extraheader, masked).
    • Heart YELLOW (85) acknowledged by the human. The reasons are manifest drift and stale release validation, none in this repo.

    Next: a human reviews and merges via /prm, then dispatches gut_board.yml. No workspace follow-up.

  3. added a commit that references this issue on Sep 27, 2026
  4. Jammy2211 commented on Sep 27, 2026

    @Jammy2211
    ContributorAuthor

    Shipped

    Merged in #12 (merge dad7367, 2026-09-27).

    The Gut Void button now reaches condemned refs held on sibling repos via PAT_PYAUTOLABS in void.yml; rows held elsewhere get the button, and failures are reported per ref. gut_board.yml has been dispatched.

    Pending release: PyAutoGut@#12 (cleared by /review_release on a published release).

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