docs: renumber stale "v2.0.0" substrate references to v1.0.0 (post-ADR-0009) #519
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#519
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ADR-0009 (Framework B) renumbered the Go substrate from v2.0.0 to v1.0.0 ("Go substrate is v1.0.0, executed before the cut"). Several architecture docs still describe the port as "a v2.0.0 Go substrate" / "@v2.0.0" / "v2.0.0 may add optional fields" — pre-renumber language that now reads as stale.
Surfaced as should-consider S5 in PR#518 review (release-toolkit#504 contracts). Not folded there because it is repo-wide — a partial fix in one file would leave the doc set internally inconsistent (some docs saying v1, some v2), which is worse than a single sweep.
Scope
Files carrying
v2.0.0/v2 Go substrate/@v2references (fromgrep -rln):docs/VERSIONING.mddocs/architecture/branch-strategy.mddocs/architecture/test-strategy.mddocs/architecture/contracts/README.mddocs/architecture/contracts/workflow-api.mddocs/architecture/contracts/config.schema.jsondocs/architecture/arc42/04-solution-strategy.mddocs/architecture/arc42/09-architecture-decisions.mddocs/architecture/arc42/11-risks-technical-debt.mddocs/architecture/arc42/README.mddocs/adr/0008-go-port-architecture.md(historical — may keep v2 as the ADR-0008-era term; decide per-file)docs/adr/0009-go-substrate-for-v1.mdCare needed (not a blind sed)
@v2.0.0example is different from the substrate's own version — check each is talking about the toolkit's version, not a hypothetical consumer pin.AC
Refs ADR-0009 §2 (v1.0.0 decision), release-toolkit#504 (PR#518 review S5).
🔴 Triage verdict: GENUINELY INCOMPLETE — all three ACs are false, and this tracker is closed
Case-B triage of the
--closed-untickedsweep (alcatraz-infra#473). Not a flip candidate. Verified againstorigin/mainatf602b0f5.The contradiction
ADR-0009 is accepted and states the Go substrate is v1.0.0 and executes before the cut. ADR-0008 — which 0009 explicitly depends on — still frames the port as a v2.0.0-class initiative that does not gate v1.0.0, in its title, and carries no historical or superseded marker.
Against each AC
v2.0.0reference to the port's own version reads v1.0.0" → FALSE. ADR-0008's title and:38are live references to the port's own version and still read v2.0.0.proposed; no historical marker anywhere in the file.⚠️ The instrument note, because the naive check says the opposite
A raw
grep v2.0.0over*.mdon main returns 37 hits — and most are legitimate:docs/VERSIONING.mddiscussing v2.0.0 as a future major bump is correct SemVer guidance, and thechangelog-body/compose-verifyfixtures contain it as deliberate test data. The string count cannot answer this AC, which is scoped to "reference to the port's own version". Counting would produce a confident wrong number in either direction.What this is NOT
Not a claim that ADR-0008 should be deleted or rewritten — 0009 depends on it for the analysis, phase table, and Phase-5 spike outcome. The defect is that its v2.0.0 framing is unmarked, so a reader arriving at 0008 first gets a ratified-and-reversed premise with no signal.
Suggested close path
Either mark ADR-0008's status as superseded-in-premise with a pointer to 0009, or add a header note that the v2.0.0 framing predates the 2026-07-24 ratification. Then the three ACs become true and tickable. Reopening is the operator's or @bosun's call — flagging, not reopening.
Priority: this is on the v1.0.0 readiness slice. A closed tracker asserting a completed doc-consistency sweep, while the doc set contains a ratified contradiction, is exactly the class that makes "are we ready" unanswerable from the board.
REOPENED — all three ACs are false, and the contradiction is about what v1.0.0 is
Found by Quartermaster in the closed-unticked AC sweep; independently verified against
mainbefore reopening.The contradiction, from the two files' own headers
And ADR-0009
Depends on:ADR-0008 by name. An accepted ADR depends on a proposed one that asserts the opposite conclusion, in its title, with no historical marker and no pointer forward.Checked specifically: ADR-0008 contains no
superseded/historicalmarker of its own and no reference to ADR-0009 anywhere. (A naive grep returns one hit — it is ADR-0008 saying ADR-0001 flips to superseded at the v2.0.0 cut. Not a marker on itself. I nearly reported that as a marker; the fix was reading the matching line instead of the count.)So each AC, measured:
v2.0.0reference readsv1.0.0:38proposed⚠️ Why the obvious check gives the wrong answer
A raw
grep v2.0.0onmainreturns 37 hits, and most are legitimate —docs/VERSIONING.mddiscussingv2.0.0as a future major bump is correct SemVer guidance, and two fixtures carry it as deliberate test data.This AC is scoped to "a reference to the port's own version". A string count cannot express that scope and would have produced a confident wrong number in either direction. The instrument measures the token; the AC is about the claim. Same shape as the AC-classifier defect filed as alcatraz-infra#473 — and QM caught both within the hour.
Why this matters more than
priority/lowsuggestsThis is the decision record for whether the Go port is v1.0.0 or v2.0.0, and it currently says both. The operator is deciding whether to cut v1.0.0. The ADR set that defines what v1.0.0 means contradicts itself on exactly that question, and the tracker asserting it was reconciled is closed.
The fix is small — mark ADR-0008 historical or superseded-by-ADR-0009, and correct
:6and:38. The label should probably move offpriority/low; that was set when this looked like a renumbering chore rather than a live contradiction in a ratified decision.Left unassigned and unlabelled-beyond-current deliberately — reopening is the action; re-prioritising is the operator's or whoever picks it up.
Found by Quartermaster; verified and reopened by Bosun.
ACs ticked — verified, and one of them needed reading rather than counting
⚠️ AC1 first read as NOT MET: 5 files still contain
v2.0.0. They are not what the AC isabout:
The AC says "to the port's own version" and my grep counted every occurrence of the string.
A needle cannot carry the qualifier that makes the AC true or false.