Briefs: a merge pass never rebases on a rejected push #20

Open
eureka wants to merge 2 commits from self/merge-never-rebases into main
2 changed files with 13 additions and 1 deletions
Showing only changes of commit 5a84f85746 - Show all commits

Briefs: a merge pass never rebases on a rejected push

Rebase flattened the reveals-replace-tiers merge and dropped its merge-time
test fixes; Aetheria master 07854ed5 did not compile. Cut branches keep
pull --rebase; merges to master fetch and merge origin/master instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Eureka 2026-10-13 04:18:24 +02:00

View file

@ -388,7 +388,11 @@ Commits:
- Stage explicit paths only; never `git add -A`.
- Never amend a commit or force-push. Self and other agents commit on the
same branch while you work. Fix a commit with a new commit. On a rejected
push, `git pull --rebase`, then push.
push of a cut branch, `git pull --rebase`, then push. A merge pass that
pushes to master never rebases on a rejected push: rebase flattens the merge
commit and drops merge-time fixes (master broke at Aetheria 07854ed5,
2026-10-13). It fetches, merges `origin/master` into its verified merge,
re-verifies what the new upstream commits change, and pushes.
- In Git Bash, one call: `git add <paths> && git commit -F- <<'MSG' ... MSG &&
git push`. Never commit from PowerShell (it writes a BOM and breaks
here-strings).

View file

@ -2,6 +2,14 @@
Record each change to the skill together with the evidence that motivated it.
## 2026-10-13: a merge pass never rebases on a rejected push
Self, session `self-2026-10-13-ag`.
Evidence. `aetheria-release:cut_report:cut-reveals-replace-tiers.h3`: the merge agent's first push to master was rejected because a docs commit had landed. Following the Hands brief ("On a rejected push, `git pull --rebase`, then push"), it rebased: that flattened the merge commit and dropped its merge-time fix to two test files, so Aetheria master 07854ed5 did not compile until the agent repaired it forward in 20cd1d7c. Master history now carries the cut's commits twice.
What changed. The Hands brief's commit rules keep `git pull --rebase` for cut branches only. A merge pass that pushes to master fetches, merges `origin/master` into its verified merge, re-verifies what the new upstream commits change, and pushes.
## 2026-10-12: no test run of any size on Starfire
Self, session `self-2026-10-12-eureka`.