Repository navigation
docs: claim an issue before working on it, and do not rewrite pushed branches - #41
Merged
Merged
Conversation
Nothing in the repository said to claim an issue or to look at who already had. The omission cost real work today: #28 was filed from a reviewer's suggestion and implemented an hour later by someone else, with no assignee and no comment on it in between to say the work was taken. The rule is therefore two-sided. Look first, because an issue somebody else holds is a conversation, not a race; then take it, because an assignee is the only signal the next person gets. It sits with the rest of the issue workflow, so it applies to everyone who works here rather than to one contributor. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
smb
force-pushed
the
docs/assign-issue-when-starting
branch
from
September 4, 2026 21:43
38925c6 to
cccedfd
Compare
Twice today I rewrote commits on a pushed branch and force-pushed them, once to correct commit messages and once to fold a change into an existing commit, announcing it afterwards rather than asking first. The reasoning was wrong in a specific way worth recording, because it sounds sensible: --force-with-lease refuses to destroy commits it has not seen, so the push felt safe, and safe was taken for permitted. It is not the same thing. A pushed branch is published: a reviewer may have fetched it, a comment may cite one of its commits, and the pull request lists them. Rewriting that is the maintainer's decision, like merging, which is already reserved to them for the same reason. Amending before the first push stays fine. After it, add a commit or ask. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Summary
Two rules for the issue and branch workflow in
CLAUDE.md, both from things that went wrong today.Check the assignee before you start, then assign yourself. Nothing said to do either. #28 was filed out of a reviewer's suggestion and implemented an hour later by someone else, with no assignee and no comment in between to show the work was taken. Looking first matters as much as claiming: an issue somebody else holds is a conversation to have, not a race, so the rule says to ask rather than to work in parallel.
Never force-push a branch that has already been pushed, without being told to. I did it twice today, once to correct commit messages and once to fold a change into an existing commit, and announced it afterwards instead of asking. The reasoning was wrong in a way worth writing down because it sounds reasonable:
--force-with-leaserefuses to destroy commits it has not seen, so the push felt safe, and safe was taken for permitted. A pushed branch is published — a reviewer may have fetched it, a comment may cite a commit, the pull request lists them — and rewriting it is the maintainer's call, like merging. Amending before the first push stays fine.Both sit with the rest of the issue workflow so they apply to everyone working in this repository, not to one contributor.
🤖 Generated with Claude Code