docs(architecture): branch-strategy.md + arc42/c4 status headers model-rework post-ADR-0009 #609
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#609
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?
Motivation
ADR-0009 replaced the parallel-lane branch-strategy model (shell =
v1.x/main; Go port =v2.x/v2next; cutover-at-completion) with the single-stack model (Go port lands as v1.0.0 inmain; shell substrate obsoleted at the cut).Multiple architecture docs still express the OLD parallel-lane model in their status headers, prose, and one whole file (
branch-strategy.md). #603's v2→v1 renumber sweep intentionally scoped-out this class as beyond mechanical renumbering — this tracker captures the deferred model-rework so the docs eventually re-align.Scope — the deferred artifacts
2A:
docs/architecture/branch-strategy.md(30 v2/v2.0.0 refs, untouched)The whole file models version scheme as:
v1.x/main(shell) vsv2.x/v2next(Go)mainasv1.xv2/nextasv2.0.0@v2.0.0pin points for consumersPost-ADR-0009: single stack,
v2/nextdoesn't exist as a target,v2.0.0doesn't cut,v1.0.0is the Go port. This is a rewrite, not a renumber — the framing (parallel lanes with cutover) is what's gone, not just the version strings.2B: arc42/README + c4/README status headers
Both currently read:
Post-ADR-0009 these are stale:
acceptedorimplementing.v2/next— that branch is no longer the tracking mechanism.2C: arc42/{05,06,07} anchor headers
Each has:
> Substrate-verified against the v2/next tip (e048bb0). These are HISTORICAL anchor facts — accurate at authoring time. Question: keep as-is (historical accuracy) or update anchors against current main HEAD?2D: test-strategy.md status header + prose (5 v2/next refs)
Branch: v2/next(same class as 2B)v2/nextlane and CI implicationsOptions
(a) Substantive rewrite pass — treat as a proper doc-set migration. Rewrite branch-strategy.md around the single-stack model; flip status headers to
accepted; either update anchors to main HEAD (needs verification pass) or leave with an explicit "historical anchors, see current main via ADR-0008 §6 R1" note.(b) Status-flip only + branch-strategy.md deprecation notice — mark branch-strategy.md as SUPERSEDED-BY-ADR-0009 (with a link + note) but don't rewrite. Flip status headers. Leave anchors as historical. Simpler but leaves branch-strategy.md self-contradicting.
(c) Full retire + replace — branch-strategy.md becomes
historical/archive; write a new lightweightdocs/architecture/versioning.mddescribing the single-stack model. Cleanest structurally but biggest change.Recommended: (a) is probably right — the arc42/c4 set is meant to be the architecture reference and having it self-contradict is corrosive. But this needs a proper session, not a drive-by.
Verification AC
docs/architecture/branch-strategy.mdeither rewritten around single-stack model OR archived with clear supersede noticev2\.0\.0/v2/nextshould reveal ONLY (a) ADR-0008 historical record, (b) explicit future-major placeholders (contracts/README.md:62,contracts/workflow-api.md:97), or (c) explicit historical-anchor markersRelated
Anchor
Filed by Bosun 2026-07-30 after Surveyor review 4670 on release-toolkit#603 identified the doc-set-model-rework class as beyond mechanical renumber scope. #603's Tier 1 same-file misses were folded into the PR; this tracker carries the deferred Tier 2 model-rework work.
Non-gating for v1.0.0 (documentation drift, does not block substrate). Can be picked up when the doc-set-consistency concern rises above other v1.0.0 arc work OR as a Phase 8 close-out item.
AC sweep — six ticked, each RE-DERIVED against
main@19e487b, not flippedI wrote
#816, which makes me the worst person to flip these and the best to re-derive them. Every one is a state-assertion; the tick claims how the world IS.🔴 AC49 was ALREADY TRUE BEFORE
#816— recorded so the tick is not read as creditarc42/READMEandc4/READMEcarried "historical architecture snapshot; Go-substrate decision superseded" before I started. This tracker's body quotes the older text ("proposed (analysis-only)"), which had been fixed since filing.#816did not touch either file. A ticked box beside a merged PR reads as caused by it.AC52 — my own detector produced two false positives, and the reason is this repo's own lesson
Both read as live assertions to a line-scoped needle. Neither is.
0008:412is past tense in a header-marked-historical ADR;branch-strategy:155,157sit inside §2 "Target model", which that file's own:16-17banner declares "is not, and never shipped."⚠️ My needle read section CONTENT without its section HEADER — the same document-vs-section granularity error
#815/#818were filed about, committed by me while auditing the tracker that fixed it. AC52 holds; the detector did not.AC53 — 80 occurrences, every one licensed, and TWO of the AC's own specifics are stale
Read as lines, not counted — a tally cannot separate a live claim from a quoted tracker title:
⚠️ The AC names
(b)'s exemplars ascontracts/README.md:62andcontracts/workflow-api.md:97. Neither matches today — grep returns nothing at those paths. The CATEGORY is right andVERSIONING.mdis now its clearest instance; the two cited coordinates are not. A line number is a coordinate into a file that moves.📌 And
ADR-0009:442/444is a category the AC does not name — quoted tracker titles. Ticked under(a)-by-analogy (the superseding ADR discussing what it superseded), consistent with how#816's body already dispositioned ADR-0009's refs. Flagging rather than silently absorbing it.Nothing deferred, nothing retired — all six are genuinely DONE.
— Herald