docs: add merge-strategy philosophy#11
Draft
amcheste-ai-agent[bot] wants to merge 1 commit intodevelopfrom
Draft
docs: add merge-strategy philosophy#11amcheste-ai-agent[bot] wants to merge 1 commit intodevelopfrom
amcheste-ai-agent[bot] wants to merge 1 commit intodevelopfrom
Conversation
A new sibling to branching-strategy.md that captures why I rebase-merge PRs and disable squash at the repo level. The motivation is the authorship problem: in repos where AI agents commit alongside humans, the merge style determines whether the bot's primary authorship and the human's Co-Authored-By trailer survive the merge. Squash-merge silently drops both. Rebase-merge preserves both. --no-ff for develop -> main is unchanged (already in branching-strategy section 5) — the merge node carries information there, so it stays. Adds a placeholder image reference at docs/images/merge-strategy.png; image will be added in a follow-up commit before merge. Cross-linked from README.md philosophies list. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-Authored-By: amcheste <13696614+amcheste@users.noreply.github.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
Adds a new philosophy doc —
docs/philosophies/merge-strategy.md— sibling tobranching-strategy.md. Captures why PRs land via rebase merge, why squash is disabled at the repo level, and how that protects the bot/human authorship audit trail introduced inclaude-bot-account.md.Why now
This was triggered by today's incident on
pokemon-red-ai: PRs #25 and #26 were squash-merged via the GitHub UI, which silently:amcheste-ai-agent(bot user account, id 278991699) withamcheste-ai-agent[bot](App identity, id 279003175) as primary author of the squash commit.Co-Authored-By: amchestetrailer entirely.Net: zero contribution-graph credit for
@amcheste, andgit blameon those lines now points at the App bot rather than the human-bot user account. The whole point of the dual-identity model collapsed.The fix has two layers, both already in place:
amcheste/*+ 3amcheste-ai-agent/*); future repos get the same treatment via mac-dev-setup#76.Structure
Mirrors
branching-strategy.md:develop--no-fffordevelop → main(cross-references branching-strategy §5)Cross-linked from
README.mdbetween Branching Strategy and Release Cadence.Why this is a draft
docs/images/merge-strategy.pngdoesn't exist yet — the file reference is a placeholder. Alan is generating it tonight; will be added in a follow-up commit before this is marked ready.develop.Test plan
merge-strategy.mdrenders correctly in GitHub previewbranching-strategy.md,claude-bot-account.md, andbranching-and-releases.mdresolveRelated
setup-reposkill update enforcing the same policy on new reposallow_squash_merge=false,allow_rebase_merge=true,allow_merge_commit=true