Repository navigation
feat: implement issue #2232 — Sync-stub guard for rebase passes: after the rebase, restore a synced stub left in a third state (check and restore, no push blocker) — the rebase half of #2212 - #2260
Conversation
…r the rebase, restore a synced stub left in a third state (check and restore, no push blocker) — the rebase half of #2212
This comment has been minimized.
This comment has been minimized.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 52 minutes. View limit details
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. Comment |
CodeAnt PR Risk: Medium Risk
Assessed commit: |
… synced stubs Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
QA Lead — test-risk advisoryRisk tier: LOW. This adds a check-and-restore step after the push, and its main paths are well covered. The tests check the pure restore decision, the record and restore helpers against real git, and the full flow against a bare remote: restore, base-wins, unlabeled PR, unreadable PR, refused push, and the order of calls in the rebase arm. What I'd shore up (highest leverage first):
Escalate? no Advisory only — I comment, I do not change code. Ground: BMAD Test Architecture |
Dev-Lead — review-changes (applied)Changes committed and pushed. Requested items addressed:
|
|
No description provided. |
|
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-10-11T04:38:42Z. |
|
This is a Gemini API rate-limit notice indicating the bot has exhausted its daily quota. The notice is informational only — no code changes are needed. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
This comment has been minimized.
This comment has been minimized.
|
Rate-limit notice acknowledged. This PR awaits bot quota reset. The test deletions in this refactoring (consolidating unit tests for the sync-stub-guard implementation) are intentional as part of issue #2232. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
|
No description provided. |
|
No description provided. |
|
Addressed in commit 6aa955f (fix(reviews): refresh origin/ after fetch and record base-added synced stubs):
Additionally restored test files (git_identity_guard.bash, setup_suite.bash, test_git_identity.bats) in commit c05e9ac that were missing due to branch being based on older main state. |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
The org was renamed to combsmith; GitHub Actions does not redirect uses: after a rename. Same rewrite as the org cutover, nothing else. This branch still conflicts with main for reasons unrelated to the rename.
Restores every other file to this branch's previous content, so the PR diff stays this PR's own change; its petry-projects references stay rewritten to combsmith.
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
|
Auto-rebase failed — merge conflict — this branch has conflicts with dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |



Problem
Sync-stub guard for rebase passes: after the rebase, restore a synced stub left in a third state (check and restore, no push blocker) — the rebase half of #2212
From the issue: A
rebasepass (conflict resolution inscripts/dev-lead-fix-reviews.sh) can leave a synced org-standard stub on astandards-syncPR in a third state: equal neither to what the sync commit wrote nor to what the base branch now has. The PR then no longer matches the template it exists to sync. This is therebasehalf of #2212; thefix-cihalf stays there.Risk
Low — changes automation shell logic under scripts/, covered by shellcheck (--severity=warning) and the bats suite.
Test plan
Tests added/updated:
tests/dev-lead/unit/test_sync_stub_guard_rebase.bats. Verification:bash scripts/dev-lead-lint.sh(shellcheck --severity=warning) ran pre-commit; the bats suite runs in CI.Rollback
Revert this PR. No non-revertible side effects (no tags, migrations, or external state).
Monitoring
This PR's Lint (shellcheck) and bats checks show pass/fail; watch subsequent dev-lead / pr-review runs for behavioral regressions.
Closes #2232