plans: rows 137 and 139 briefs, whichever lands second carries the REQ-LAND-1 refusal (Filbert 28767 note 2)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-16 13:09:29 -05:00
co-authored by Claude Opus 5.5
parent d02c5982bc
commit c07c87fc22
+7 -5
View File
@@ -317,9 +317,10 @@ survive a reseed.
- The sandbox binds the op only for a role that holds a resolved merge
decision, the same way push and fetch are bound today.
- PRD 1.5 REQ-LAND-1: only a role granted git.merge.protected cross-role
lands, so the land op refuses a merge decision of class `gated`. Row 139
carries the refusal and its test. If row 139 has landed before 137
does, 137 carries them instead.
lands, so the land op refuses a merge decision of class `gated`.
Whichever of 137 and 139 lands second carries the refusal and its test.
Sage checks this at each landing: a row that lands first leaves it out,
and the row that lands second is not done without it.
- `read.mjs` keeps its cli-resolved check. Row 139 relaxes it.
- Canonical `refactor` is never a target. land-work.sh keeps working for
Sage's landings.
@@ -445,8 +446,9 @@ Jason on 2026-10-15.
until then names are set only by the human through the CLI.
- PRD 1.5 REQ-LAND-1: the land op refuses a git.merge.protected decision
of class `gated`, which is any merge decision raised by a role without
the cross-role grant. Row 139 carries the refusal if row 137 has landed
when 139 is built; otherwise 137 carries it.
the cross-role grant. Whichever of 137 and 139 lands second carries the
refusal and its test, the same rule as row 137's brief. Sage checks this
at each landing.
- Tests for each hard wait, for a cited merge raised by merge-gate going
to the arbiter, for an uncited decision still going to the human, for a
stale spec citation, and for the land refusal: a coder raises a cited