Skip to content

docs(skills): a Mind ledger push lands itself — stop leaving branches hanging - #306

Merged
Jammy2211 merged 1 commit into
mainfrom
claude/pyautomind-pr-automation-lcu0s5
Aug 27, 2026
Merged

docs(skills): a Mind ledger push lands itself — stop leaving branches hanging#306
Jammy2211 merged 1 commit into
mainfrom
claude/pyautomind-pr-automation-lcu0s5

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Why

PyAutoMind now auto-merges a ledger-only claude/** push into main and deletes the branch — PyAutoMind#358, mind_ledger_merge.yml. The skills need to know, or they will keep reporting Mind state as "pushed, awaiting merge" when it has already landed, and keep asking humans to merge branches that merge themselves.

What changes

skills/WORKFLOW.md — every skill that mutates Mind state ends in prompt_sync_push, so the fact belongs once on the shared page they all point at, not in ten skill bodies. It now says: prompt_sync_push pushes the branch you are on, that is the whole job either way, and a ledger-only push lands unattended. It also names the code side of the gate, so a skill whose diff also touched scripts/ or .github/ says "waits for a human" rather than implying the state landed.

skills/prm/prm.md — step 5.4 said "push Mind on main". That is wrong on every branch-scoped surface (the phone, claude.ai/code, any claude/** flow) and is exactly where the close-out's own ledger commit was stranding: /prm would move the prompt to complete/, regenerate the dashboard, commit it — and leave it on a branch nobody merged.

It now says push the branch you are on, never force main, and names the three outcomes explicitly:

  • the diff is ledger by construction → it lands itself within a minute; say so in the ledger;
  • the close-out also touched a code path → the branch waits for a human; say so plainly;
  • lifecycle.py check fails → it was never going to merge; fix the drift.

Plus the one command that tells them apart before the push (ledger_merge.py classify --base origin/main), and a note under Notes that Mind's own close-out commit is the one case needing no PR at all.

Validation

569 tests (-n auto), ruff clean. Documentation-only — no entrypoint, registry or agent behaviour changes.


Generated by Claude Code

… hanging

PyAutoMind now auto-merges a ledger-only `claude/**` push into main and deletes
the branch (mind_ledger_merge.yml). Every skill that mutates Mind state ends in
`prompt_sync_push`, so the fact belongs once in WORKFLOW.md — the shared page
they all point at — rather than in ten skill bodies.

/prm step 5.4 said "push Mind on `main`", which is wrong on every branch-scoped
surface and is exactly where the close-out's ledger commit was stranding. It now
says push the branch you are on, names the three outcomes (lands by itself /
waits for a human because the diff touched code / never was going to merge
because `lifecycle.py check` fails), and gives the one command that tells them
apart before the push.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CmGdNA97ajAyLJ4jemvki8
@Jammy2211
Jammy2211 merged commit 0d6b232 into main Aug 27, 2026
2 checks passed
@Jammy2211
Jammy2211 deleted the claude/pyautomind-pr-automation-lcu0s5 branch August 27, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants