Development record
2026-10-23 — Decided by the technical facilitator on delegation (coordinator ruling, 2026-10-23), on iss-2610230016561927 (a build run serialises every lane on the previous lane merging): the finding's cause is authoring, not code. A spec step's needs line is already honoured, and a step with none waits for every earlier step (ruling DR6b), but only 5 of 169 specs on the default branch declared any needs line, so nearly every run defaulted to fully serial. Remedy, in order: first, intent ready and the spec's record-lint warn on a spec of two or more steps with no needs line on any step, saying the steps run fully serial and naming the fix, and the planning page and interviewer ask for each step's needs; a warning, never a refusal. Second, stacked readiness (a dependent lane starting once its predecessor is reviewed and landed on the run's own branch) is captured as its own record and draft intent for planning, not built now. Rejected: a default derived from footprints, running a step with no needs line in parallel when its packages are disjoint from every earlier step's, because file overlap misses logical dependencies (step 3 calls a function step 2 adds, in another file) and a wrong parallel step costs more than a serial one. Backfilling needs lines on the open specs is captured separately.
2026-10-23 — Decided by the technical facilitator on delegation (coordinator ruling, 2026-10-23), on iss-2610230016561927 (a build run serialises every lane on the previous lane merging): the finding's cause is authoring, not code. A spec step's needs line is already honoured, and a step with none waits for every earlier step (ruling DR6b), but only 5 of 169 specs on the default branch declared any needs line, so nearly every run defaulted to fully serial. Remedy, in order: first, intent ready and the spec's record-lint warn on a spec of two or more steps with no needs line on any step, saying the steps run fully serial and naming the fix, and the planning page and interviewer ask for each step's needs; a warning, never a refusal. Second, stacked readiness (a dependent lane starting once its predecessor is reviewed and landed on the run's own branch) is captured as its own record and draft intent for planning, not built now. Rejected: a default derived from footprints, running a step with no needs line in parallel when its packages are disjoint from every earlier step's, because file overlap misses logical dependencies (step 3 calls a function step 2 adds, in another file) and a wrong parallel step costs more than a serial one. Backfilling needs lines on the open specs is captured separately.
Frontmatter
| id | dcn-2610230857411093 |
|---|---|
| type | decision |
| date | 2026-10-23 |
.abcd/work/decisions/dcn-2610230857411093-decided-by-the-technical-facilitator-on.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610230016561927A build run serialises every lane on the previous lane merging into main. The ready rule for a lane's predecessors (the DR6b default needs, read with landedInRun as being an ancestor of the default branch) holds each step until the step before it has passed the merge queue, so a six-step spec spends roughly 20 to 25 hours in serial queue time at the preflight and merge-queue times seen on 2026-10-22, most of it waiting rather than building; the merge-gate build was the case that night.