Briefs: a merge pass never rebases on a rejected push #20
3 changed files with 22 additions and 2 deletions
|
|
@ -139,7 +139,10 @@ little reading. Map nothing further ahead (SKILL.md step 1, "Map only what is
|
|||
about to run"): later cuts are one line each in the prose map's cut sequence.
|
||||
|
||||
Admit only cut_specs, their superseding resolutions, and questions. In the
|
||||
prose map at <path>, edit body facts and rationale. Also edit the model page
|
||||
prose map at <path>, edit body facts and rationale. <path> is in a worktree
|
||||
Self names, at the current head of the map's branch; never the operator's
|
||||
checkout (2026-10-13: a loot-2 pass edited an operator checkout whose map was
|
||||
three days stale, beside the operator's uncommitted work). Also edit the model page
|
||||
whenever a probe changes a row's identity, lifecycle or authority. Imagination
|
||||
wrote that page in 0b, and a model a cut contradicts is stale steering text.
|
||||
Do not commit; the root agent commits. Do not change code in any repo. Scratch probes under
|
||||
|
|
@ -388,7 +391,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).
|
||||
|
|
|
|||
|
|
@ -341,6 +341,11 @@ invariants, not-in-scope list and canonical implementations are the typed
|
|||
- **Admit only the ruling that answers a question.** Its `Answered`
|
||||
resolution is derived in the same commit; admitting that resolution by hand
|
||||
is refused `IdentityCollision`.
|
||||
- **Re-mapping a withdrawn cut takes two batches.** First admit a `Withdrawn`
|
||||
resolution on the spec's withdrawal resolution, which reopens the spec. Then,
|
||||
in a second batch, admit revision N+1 with a `Superseded` resolution on
|
||||
revision N. One batch holding both is refused `WouldReinstateOverLater`
|
||||
(loot-2 r3, 2026-10-13). A fresh cut label at revision 1 needs neither.
|
||||
- **A finding cannot be resolved `Superseded`** (`IncompatibleResolution`).
|
||||
Resolve it `Recorded`, naming its successor in the reason.
|
||||
- **Test negative greps before publishing them** in a spec's
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
Loading…
Reference in a new issue