Skip to content

Commit 04017a8

Browse files
committed
fix(ship-skill): push step needs force-with-lease too, not just babysit's
Step 2's sync recovery rewrites already-pushed commits on a branch that's been pushed before, but the push step only said 'push using the current branch name' with no force-with-lease — a plain push would be rejected in exactly the polluted-remote case step 2 exists to fix. babysit already got this fix; ship's own push step didn't.
1 parent 59eec9a commit 04017a8

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

.agents/skills/ship/SKILL.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ When the user runs `/ship`:
3838
- `bun run lint` to fix formatting issues
3939
- `bun run check:api-validation:strict` to catch boundary contract failures before CI
4040
7. **Stage and commit** the changes with the generated message
41-
8. **Push to origin** using the current branch name
41+
8. **Push to origin** using the current branch name — `--force-with-lease` if step 2's sync
42+
check did any history rewrite (a clean rebase or a cherry-pick rebuild) on a branch that had
43+
already been pushed once; a plain push would be rejected in exactly the polluted-remote case
44+
step 2 exists to fix
4245
9. **Create a PR** to staging with a description in the user's voice, then do a final content check — not a count check — comparing what actually landed:
4346
```bash
4447
git fetch origin staging && git log --oneline --reverse origin/staging..HEAD

.cursor/commands/ship.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ When the user runs `/ship`:
3131

3232
5. **Stage and commit** the changes with the generated message
3333

34-
6. **Push to origin** using the current branch name
34+
6. **Push to origin** using the current branch name — `--force-with-lease` if step 2's sync
35+
check did any history rewrite (a clean rebase or a cherry-pick rebuild) on a branch that had
36+
already been pushed once; a plain push would be rejected in exactly the polluted-remote case
37+
step 2 exists to fix
3538

3639
7. **Create a PR** to staging with a description in the user's voice, then do a final content check — not a count check — comparing what actually landed:
3740
```bash

0 commit comments

Comments
 (0)