Development record
An intent's build reserves its spec's whole Footprint packages line once, for every lane of the run, and never reads a step's own packages line, so the reservation cannot start at the first step's files and widen step by step. Building that needs a reservation per open lane (the union of the steps in flight, since steps marked needs: none run beside each other), a widening act as each lane opens (a reserve with the union and the tip's term, as widenReservation already does, since claim.Request.Narrow refuses to widen), and a narrowing as each step lands. That is more than the directory-warning fix for iss-2610230016544142 could carry, so it is filed on its own.
An intent's build reserves its spec's whole Footprint packages line once, for every lane of the run, and never reads a step's own packages line, so the reservation cannot start at the first step's files and widen step by step. Building that needs a reservation per open lane (the union of the steps in flight, since steps marked needs: none run beside each other), a widening act as each lane opens (a reserve with the union and the tip's term, as widenReservation already does, since claim.Request.Narrow refuses to widen), and a narrowing as each step lands. That is more than the directory-warning fix for iss-2610230016544142 could carry, so it is filed on its own.
Frontmatter
| id | iss-2610230839002949 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610230839002949-an-intent-s-build-reserves-its-spec-s.md
open on GitHub ↗ · commit history ↗
mentions2
- dcn-26110120490507032026-11-01 — A build's reservation over its spec's footprint follows a per-repository setting with two rules: as each step lands, narrow the reservation to the files the steps not yet landed still name (the default), or reserve only the steps in flight, widening as each lane opens and narrowing as each lands. The default never lets a later step's files go unreserved mid-run; the second blocks other copies least, at the cost of a build that can stall when its next step's files are taken. This answers the trust-rule hand-back of iss-2610230839002949.
- iss-2610230016544142Directory-level reservation footprints over-reserve and serialise unrelated lanes. On 2026-10-22 four lanes were held up by footprints naming whole directories or packages when their work changed a few files: the worktree store against the merge gate, the sweep-reservations branch holding all of internal/surface/cli against a store build adding two new files there, a release hold against internal/core/landing, and a planning branch holding whole record directories. Each was cleared only by hand-narrowing the footprint to the files the branch changed. Specs' footprint lines and abcd reserve both take a directory as readily as a file, and nothing warns when a directory is named.