Conversation
…main sync The SKILL's Step 9 already uses the correct primitive (`git pull origin main`, which creates a regular merge commit), but doesn't explicitly warn against the two trap doors that bit us during v0.3.10: 1. `git pull origin main --ff-only` — used by the experimental archon-release workflow's sync-dev-with-main step. Fast-forward is impossible across a squash merge; the workflow aborted on every release run. 2. `git reset --hard origin/main` — used during today's recovery as a "clean up the merge commit" workaround for #1. It worked locally but rewriting dev's history severed every open PR's merge-base, ballooning their diffs from <100 lines to thousands. Confirmed: PR #1444 went from +80/-1 to +6626/-300, restored after a recovery merge that re-attached the original release commits to dev. Add explicit DO-NOT block under the existing "Important" callout. Also document the conflict-resolution gotcha: when the merge conflicts on homebrew/archon.rb, use `git checkout origin/main -- ...` (NOT local `main`, which is typically stale because the release pushes via `git push origin dev:main` without fast-forwarding local main). The workflow-level fixes for both traps landed in #1490. This is the documentation companion so a future maintainer (or AI agent) doesn't repeat either trap.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughDocumentation update to the release skill that clarifies git synchronization procedures after squash-merge releases. Specifies avoiding fast-forward-only pulls and hard resets when syncing Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
Brings in 0.3.10 release + post-release fixes (incl. coleam00#1492's restore-pre-squash-merge-history merge) so GitHub's PR diff base re-aligns with the current dev tip and the PR view stops showing unrelated upstream commits as part of this PR.
Summary
git pull origin main, which creates a regular merge commit), but doesn't explicitly warn against the two trap doors that bit us during v0.3.10. A future maintainer (or AI agent) reading the SKILL might think "the merge commit is ugly, let me clean it up" and reach for--ff-onlyorgit reset --hard origin/main— both are wrong.archon-releaseworkflow used--ff-onlyand aborted on every release run. Workflow-level fix is in fix(release-workflow): use regular merge for dev/main sync after squash-merge #1490.git reset --hard origin/mainto "clean up" the merge bubble. That severed every open PR's merge-base from its original commit and ballooned their diffs (PR fix(cli): handle --version, -V, -version, lone -v as version requests #1444 went from+80/-1to+6626/-300). Recovered via a follow-up merge that re-attached the original commits.> **Do NOT**callout under the existing "Important" callout in Step 9. Documents both anti-patterns and explains why each is wrong, plus the conflict-resolution gotcha (useorigin/mainnot localmainbecause local main is typically stale).Linked
Validation
Security Impact
None.
Compatibility / Migration
Backward compatible — documentation only.
Human Verification
I read the rendered SKILL section and the new callout reads naturally between the existing "Important" block and the GitHub Release explainer. No formatting issues.
Side Effects / Blast Radius
Single file. No code paths affected.
Rollback Plan
git revertif the new wording is wrong. The SKILL functions identically without it (just less explicit about the failure modes).Risks and Mitigations
None of substance. Worst case: the new wording is slightly awkward; revert and rephrase.
Summary by CodeRabbit