Appearance
ADR-0038: D-47 and D-48 were never issued — second tombstone
Status: Accepted Date: 2026-09-10
Decisions
D-92 The ids D-47 and D-48 are permanently void and must never be assigned
No ruling is missing. As with ADR-0021, the numbers were allocated during the 2026-09-02 grill session and the decisions they were meant for were recorded under different ids.
Context
The repository's rule is that ids are append-only and never renumbered, so a hole in the sequence is permanent by design and a hole without a tombstone reads as a missing ruling rather than as a number never issued. ADR-0021 is the first tombstone; this is the second.
How it was found. An agent writing the documentation site noticed that session-handoff.md claimed 80 decisions while the generated decision index counted 75, refused to paper over the difference, and traced it. That is the same behaviour ADR-0021's own Context praises — reporting a discrepancy rather than quietly closing it — and it is the second time arithmetic on the decision count has found a defect nothing else was watching.
The evidence that these were allocated and abandoned rather than lost. ADR-0022 declares D-44 and then jumps to D-49 and D-50; ADR-0023 takes D-45 and D-46 in between. Both were written on 2026-09-02 in the same batch. Ids were therefore being reserved out of order across two documents being drafted together, which is exactly the mechanism ADR-0021 records: "The numbers were spoken during a grill session before the ADRs were written, and when the decisions were actually recorded they received different ids."
Confirmed absent everywhere: docs/, .scratch/, CONTEXT.md, and the whole git history. The two commits that git log -S"D-47" returns are from 2026-09-08 and both merely write about the hole — the documentation site's pages and the wayfinder map. No commit has ever declared either id.
What is not known, and is not invented here. ADR-0021 could name what each of its void ids became — the proxy corpus became D-28 and D-29, the curation spike became D-32. For D-47 and D-48 there is no such record. The rulings they were spoken for are not identifiable from anything on disk, and no attempt is made to reconstruct them. A tombstone's job is to say the numbers are dead, not to invent the lives they might have had.
Decision
D-47 and D-48 are void. They are never assigned, never reused, and the hole between D-46 and D-49 stays open permanently.
Rejected options
- Renumber later decisions to close the hole — rejected for the reason ADR-0021 already gave: living documents reference their ids, and the hole is cheaper than the churn.
- Reconstruct what the ids were probably for — rejected. Nothing on disk identifies them, and a plausible reconstruction recorded as fact is worse than an acknowledged gap. This repository has twice now shipped a claim that was written without being checked; this is not a third.
- Extend ADR-0021 to cover them — rejected. ADR-0021 is Accepted, and an Accepted ADR is not edited (D-83 permits only Coverage
Notecells). A second tombstone is the correct shape and it also records that this happened twice, which one amended document would hide. - Leave it as a handoff blocker — rejected. A handoff is overwritten each session; the hole is permanent. It needed a permanent home.
This ruling may not be re-decided
If a change contradicts this ADR: stop and raise it. Do not implement over it. Do not assign D-47 or D-48 to a new ruling because the sequence looks untidy, and do not renumber around them.
Consequences
The decision count now has two documented holes: D-23, D-24 and D-25 (ADR-0021), and D-47 and D-48 (here). Any future arithmetic on the count must reckon with five void ids, which is why the documentation site's decision index is generated from the filesystem rather than maintained by hand — it counts declarations, never id ranges.
A pattern worth naming. Both tombstones exist because ids were spoken aloud during grilling before any document was written. Nothing prevents a third. The cheap mitigation, not adopted here because it is a working-practice change rather than a ruling, is to allocate an id only at the moment it is written into a document.
Coverage
No upstream finding lands here. Bookkeeping only, in the same shape as ADR-0021.
| Upstream | Landed in | Evidence | Note |
|---|