Development record
2026-10-27 — The worktree store's /abcd board line says how many worktrees can be cleared, the words of the product thinker's 2026-09-30 planning ruling (dcn-2609300000000022), relayed as settled by the coordinating session abcd-f5 on 2026-10-27. The spec's line and the built line had drifted to reclaimable; both are corrected to the ruling. The --json member keeps the field name reclaimable, which the ruling does not name.
decisiondcn-2610272035450672
2026-10-27 — The worktree store's /abcd board line says how many worktrees can be cleared, the words of the product thinker's 2026-09-30 planning ruling (dcn-2609300000000022), relayed as settled by the coordinating session abcd-f5 on 2026-10-27. The spec's line and the built line had drifted to reclaimable; both are corrected to the ruling. The --json member keeps the field name reclaimable, which the ruling does not name.
Frontmatter
| id | dcn-2610272035450672 |
|---|---|
| type | decision |
| date | 2026-10-27 |
.abcd/work/decisions/dcn-2610272035450672-the-worktree-store-s-abcd-board-line.md
open on GitHub ↗ · commit history ↗
mentions2
- dcn-26093000000000222026-09-30 — The worktree store is planned (itd-2609091014076309, spc-2609301811532881), after two adversarial reviews and a planning interview with the product thinker and technical facilitator, asked one at a time. Decomposition: file as is, with no new ADR or principle; the build loop's lane primitive moves into the store's package, so the intent `refines` itd-2609201916151817. Rulings: the verb is `abcd ahoy worktree add|list|prune`; "merged" is the forge's recorded pull-request state or patch-equivalence, and it works with no forge; an unmerged worktree quiet for 14 days (repo-configurable) is surfaced with a dossier and removed only when named (`--yes <name>`), never forced; a reclaimed worktree's local tier is moved, never deleted, into a new sibling store `~/.abcd/notes/<root-sha>/<timestamp>-<name>/`, redacted on write with a manifest; the plugin page carries `add` as a host-run step; the worktree directory is `0o700`; prune exits 0 when it reclaimed something, 1 when it reclaimed nothing, 2 on a refusal; a directory keyed on an abbreviated root commit is listed as "not a lane" and names the full-key lane; the board line keeps "can be cleared" as an estimate. The 21 acceptance criteria are the product thinker's. Grounds: "pursued: working copies keep piling up with nothing to list or clear them; wrong if, after it ships, copies still accumulate outside the store." Carried from itd-148's 2026-08-26 interview and confirmed here: the merge proof and the quiet sweep. Also ruled: itd-148 keeps its mint-visibility criterion as peer awareness (its Decision 5).
- dcn-26102719462697592026-10-27 — The worktree store's board line keeps the peers scan's estimate for its reclaimable count, decided by the technical facilitator's session abcd-e8 on the product thinker's standing delegation of 2026-10-27. A change a crashed session left uncommitted, salvaged as commit 6f8012a0f, made the line count by prune's own judgement; it is reverted because itd-2609091014076309's acceptance criterion for the board line says rendering it starts no per-lane status read, and that judgement runs git status, the squash test and a notes read for every worktree in the lane on each render, while the 2026-09-30 planning ruling (dcn-2609300000000022) already accepts the scan's count as an estimate. The salvaged change stays in the branch's history and as a patch in the local tier. The line's words are settled separately: it says can be cleared, as that ruling names them (dcn-2610272035450672).