Author PRs as atomic commit series and preserve them through review - #56
Merged
Conversation
Records the brainstormed design for authoring PRs as a planned series of atomic commits and preserving that atomicity through review: amend the owning commit and rebase rather than appending feedback commits. Covers the workflow.md rule, a new atomic-commits mechanics skill, edits to address-pr-feedback, and the parked decisions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Three tasks, one commit each: the atomic-commits mechanics skill, the Git & PR hygiene rule bullets, and the address-pr-feedback rerouting. Recipes were verified against git 2.43 in a scratch repo; the plan pins the GIT_SEQUENCE_EDITOR form as primary and encodes the verified rejection of -m with --fixup=reword. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
nonrational
added a commit
that referenced
this pull request
Aug 30, 2026
…ative * origin/main: Author PRs as atomic commit series and preserve them through review (#56) don't commit gemini config json Add code-comment-register skill
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Agent-authored PRs accumulate appended commits when feedback arrives:
address-pr-feedbackstep 5 mandated "make all accepted changes in one commit" and push, so accepted feedback landed as new commits even when it logically belonged in an earlier one. The series stops being a sequence of independently reviewable units, and nothing in the agent config encoded the alternative.Motivation
Review quality tracks commit legibility: a reviewer who challenges the library choice in commit 1 should see commit 1 change, not diff a fifth commit against their memory of the first four. The harness also has no interactive
git rebase -i, so the non-interactive rewrite choreography is exactly what a session re-derives badly under pressure — worth encoding once, verified.Proposed Solution
atomic-commitsskill (home/.agents/skills/atomic-commits/): non-interactive history-rewrite mechanics — fixup + autosquash viaGIT_SEQUENCE_EDITOR=true(git 2.43-safe), edit-then-amend reword, split,git rebase -xto prove every commit green,--force-with-leaseetiquette. Every recipe was exercised in a scratch repo before being written down; recipes are BSD-sed-safe for the macOS deploy target.home/.agents/rules/workflow.md(Git & PR Hygiene): plans name the commit series, one plan task = one commit; feedback amends the owning commit, never appends.address-pr-feedbackrerouted: triage identifies each accepted comment's owning commit, the confirmation gate names the destination, step 5 lands changes via theatomic-commitsskill, and replies cite post-rewrite SHAs.Design and parked decisions:
docs/superpowers/specs/2026-08-25-atomic-commits-design.md. Execution record:docs/superpowers/plans/2026-08-25-atomic-commits.md.Feedback
Self-review (adversarial whole-branch pass) caught two Important items, both fixed before this PR went up: a GNU-only
sed -iin the reword/split recipes (nowsed -i.bak) and a stale spec Status line. Highest-value review targets: the two rule bullets — they load into every session, so their wording is the contract — and whether the skill's safety preamble is strict enough before any force-push. The branch practices what it installs: five atomic commits, review fixes landed as fixups into their owning commits, series proven green per commit withgit rebase -x. Note this branch was force-pushed over the spec-only revision you reviewed earlier — the spec commit changed (Status line, reword-recipe note, unwrapped rule bullets).