Development record
abcd build (and abcd reserve) refuses a reservation by naming only the first footprint path that overlaps a live reservation, so a build whose footprint collides with several reservations is refused once per collision: on 2026-10-22/23 the merge gate's build (itd-2610150602547271) was refused in turn on internal/core/implement/loop/land.go (iss-2610120138028442), internal/surface/cli/cli.go (iss-2610171110154902; a second reservation, for an issue filed on the unmerged fix/autonomous-permission-ask-denied branch, held it too, unnamed) and internal/core/landing/config.go (iss-2610222014550692, a directory footprint), each discovered only after the previous one was routed round. <!-- record-lint: forward-looking -->
abcd build (and abcd reserve) refuses a reservation by naming only the first footprint path that overlaps a live reservation, so a build whose footprint collides with several reservations is refused once per collision: on 2026-10-22/23 the merge gate's build (itd-2610150602547271) was refused in turn on internal/core/implement/loop/land.go (iss-2610120138028442), internal/surface/cli/cli.go (iss-2610171110154902; a second reservation, for an issue filed on the unmerged fix/autonomous-permission-ask-denied branch, held it too, unnamed) and internal/core/landing/config.go (iss-2610222014550692, a directory footprint), each discovered only after the previous one was routed round.
Frontmatter
| id | iss-2610222359046244 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610222359046244-abcd-build-and-abcd-reserve-refuses-a.md
open on GitHub ↗ · commit history ↗
mentions4
- iss-2610120138028442The implement loop's merged check (internal/core/implement/loop/land.go, landMerged) asks the forge twice per poll while a pull request is not merged: `gh pr view --json state`, then prMergeability's `gh pr view --json mergeable,mergeStateStatus`. Both fields come from one view, so each poll spends two forge calls where one would answer, against the same rate limit the loop's other waits share.
- iss-2610171110154902A host approval prompt for a shell command stalls an autonomous run. The host asks the person to approve a command it cannot check (an unread script, a compound line), and with nobody at the terminal the run waits until someone returns. Auto-approving a repeat was considered and rejected: it lets any agent past every check by retrying, so the refusal is repeated every time instead and the agent is told how to rewrite the command.
- iss-2610222014550692A release reservation (abcd reserve rel-vX.Y.Z) holds only merges armed after it: a pull request whose auto-merge was already on, or that already sat in the merge queue, still merges into the default branch mid-cut, from any copy or account, a running drain's included. Today the cutting session has to list and rule on those by hand right after reserving and again before merging the release pull request (commands/reserve.md, /abcd:launch 'Before step 1'), a manual step that is easy to miss on an every-other-day cadence.
- itd-2610150602547271The facilitator's mode gates the merge