Development record
2026-10-29 — Merge-gate step 4 (itd-2610150602547271, spc-2610161609350616), decided where the records leave it open, each the way that fails closed. (1) The facilitator's approval act is a flag of land, abcd land --approve, beside --record-review: it writes .abcd/.work.local/approvals/<full sha>, found from any worktree as the receipts are, and counts as an approval of that commit alone, for a contributor's pull request and in human mode alike. (2) A custom role's base is read from the same permission answer's legacy level (admin or write: a maintainer; read or none: a contributor), so no second call is made; any other level, a read that fails other than with 404, or an answer that does not parse is unverified and arms nothing. (3) A reviewer's approval counts only if it is that reviewer's latest submitted review of any state (a later comment or change request supersedes it, a pending draft does not), approves the head commit itself, is not the author's, and its reviewer reads as a maintainer; a page of 100 reviews counts none, since a later review may sit beyond it. (4) With no merge queue gating the default branch the arming is the forge's auto-merge as a merge commit (--merge), and a forge that refuses it is said, not retried. (5) The build loop reads the mode at the default branch's tip as just fetched, not at the lane's base, so a mode turned back to human after a run started holds; a lane the gate leaves open is parked as before and asked again on each step, so an approval or a review receipt given later arms it. (6) The loop mints no review receipt of its own: its pushed head carries the records commit its validators did not read, so in auto a lane arms only once a review receipt names that head, recorded with abcd land --record-review. Decided by the agent building steps 4 to 6 under the orchestrator's delegation, 2026-10-29.
2026-10-29 — Merge-gate step 4 (itd-2610150602547271, spc-2610161609350616), decided where the records leave it open, each the way that fails closed. (1) The facilitator's approval act is a flag of land, abcd land --approve, beside --record-review: it writes .abcd/.work.local/approvals/<full sha>, found from any worktree as the receipts are, and counts as an approval of that commit alone, for a contributor's pull request and in human mode alike. (2) A custom role's base is read from the same permission answer's legacy level (admin or write: a maintainer; read or none: a contributor), so no second call is made; any other level, a read that fails other than with 404, or an answer that does not parse is unverified and arms nothing. (3) A reviewer's approval counts only if it is that reviewer's latest submitted review of any state (a later comment or change request supersedes it, a pending draft does not), approves the head commit itself, is not the author's, and its reviewer reads as a maintainer; a page of 100 reviews counts none, since a later review may sit beyond it. (4) With no merge queue gating the default branch the arming is the forge's auto-merge as a merge commit (--merge), and a forge that refuses it is said, not retried. (5) The build loop reads the mode at the default branch's tip as just fetched, not at the lane's base, so a mode turned back to human after a run started holds; a lane the gate leaves open is parked as before and asked again on each step, so an approval or a review receipt given later arms it. (6) The loop mints no review receipt of its own: its pushed head carries the records commit its validators did not read, so in auto a lane arms only once a review receipt names that head, recorded with abcd land --record-review. Decided by the agent building steps 4 to 6 under the orchestrator's delegation, 2026-10-29.
Frontmatter
| id | dcn-2610291524030570 |
|---|---|
| type | decision |
| date | 2026-10-29 |
.abcd/work/decisions/dcn-2610291524030570-merge-gate-step-4-itd-2610150602547271.md
open on GitHub ↗ · commit history ↗
mentions3
- dcn-26110519080786962026-11-05 — The build loop records a review receipt only from a pair that read the pushed head, its records commit included. Where the mode is auto, a lane's full round is told each resolution it declares and judges it, and the records commit then takes a review round of its own, scoped to that commit, before anything is pushed, unless the commit moves an issue's record that round was not told of or holds more than plain markdown, when the lane parks before any round. A round that does not pass parks the lane at its pull request for a person, with no fix round, and a parked lane is not synced. By the coordinator's reading, this meets the reason behind clause 6 of dcn-2610291524030570 and the full-pair ruling in dcn-2611012113436014; the person is told and can overrule. It supersedes that clause's statement that the loop writes no receipt.
- itd-2610150602547271The facilitator's mode gates the merge
- spc-2610161609350616The facilitator's mode gates the merge