Appearance
date: 2026-06-04 tags: [workflow, github, build-sprint, pr] status: graduated graduated_to: .claude/skills/build-sprint/SKILL.md
Issues close on merge, not on commit — work goes through a reviewed PR
Symptom — after committing #134/#135 to a feature branch, the issues (and their parent epic #133) were closed straight away with a SHA comment. The user expected them to stay open until a PR is reviewed and merged.
Root cause — build-sprint's EXECUTE contract says "one issue = one commit on the current branch (no PR unless asked) → close the issue with a SHA comment." That close-on-commit default collides with this repo's convention: nothing is "done" until it's merged. Work lands via a reviewed PR, and issues close on merge through Closes #NN trailers — never on the bare commit.
Fix — reopened #133/#134/#135, pushed the branch, opened PR #141 with Closes # trailers so they close themselves when it merges.
Guard — convention: never close an issue on commit. Branch → commit → push → PR → review → merge; the Closes # trailer does the closing. This graduated into build-sprint's EXECUTE steps 6–7 + output contract (commit on a feature branch with a Closes #NN trailer; open one PR for the batch; never close on commit) — aligning it with CLAUDE.md's existing "open a PR only once composer ci:check is green" / "Definition of Done = merged" stance.