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 9 additions and 1 deletions
Showing only changes of commit c9cf8e274e - Show all commits

Briefs and campaign-state: map edits in a named worktree; re-mapping a withdrawn cut is two batches

An Imagination pass edited the operator's checkout (stale map, beside her
uncommitted work); <path> is now a worktree Self names. Withdrawing a
withdrawal and admitting the next revision in one batch is refused
WouldReinstateOverLater.

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

View file

@ -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

View file

@ -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