Refresh 3 stale file:line anchors in ADR-0008 §6 R1/§4c (caught during #479) #480

Closed
opened 2026-07-08 00:28:45 +02:00 by engineer · 1 comment
Owner

Low-priority anchor-refresh: ADR-0008 §6 R1 (and §1/§4c) cite three file:line anchors that are stale vs the current v2/next tree. Caught during doc-3 (test-strategy.md, #479) authorship, which cites the fresh anchors + names the drift inline.

Stale → current (as of e048bb0):

  • cut-prep bake: release-prep.sh:541-546release-prep.sh:566 (bake_toolkit_ref "$f" "$NEW_TAG")
  • post-cut 'main' reset: reusable-release.yml:390-395reusable-release.yml:492-493 (bake_toolkit_ref "$f" "main")
  • GITHUB_OUTPUT tee: §1/§4c reusable-release.yml:225 (that's the step name) → :266 (release-decide.sh … | tee -a "$GITHUB_OUTPUT")

Fix: a ~3-anchor refresh PR to ADR-0008 into v2/next + Surveyor stamp. Pure anchor-refresh, no substance change (bake design-invariant / API-boundary / defer-rec all unchanged). Preserves the disclose-not-silently-fix chain rather than silently touching the just-merged ADR.

Non-gating; fire when cycling back (Bosun lean). Context: #367 arc, PR #479 body + test-strategy.md inline note carry the same facts.

Low-priority anchor-refresh: ADR-0008 §6 R1 (and §1/§4c) cite three `file:line` anchors that are stale vs the current `v2/next` tree. Caught during doc-3 (test-strategy.md, #479) authorship, which cites the fresh anchors + names the drift inline. Stale → current (as of e048bb0): - cut-prep bake: `release-prep.sh:541-546` → **`release-prep.sh:566`** (`bake_toolkit_ref "$f" "$NEW_TAG"`) - post-cut 'main' reset: `reusable-release.yml:390-395` → **`reusable-release.yml:492-493`** (`bake_toolkit_ref "$f" "main"`) - GITHUB_OUTPUT tee: §1/§4c `reusable-release.yml:225` (that's the step *name*) → **`:266`** (`release-decide.sh … | tee -a "$GITHUB_OUTPUT"`) Fix: a ~3-anchor refresh PR to ADR-0008 into `v2/next` + Surveyor stamp. Pure anchor-refresh, no substance change (bake design-invariant / API-boundary / defer-rec all unchanged). Preserves the disclose-not-silently-fix chain rather than silently touching the just-merged ADR. Non-gating; fire when cycling back (Bosun lean). Context: #367 arc, PR #479 body + test-strategy.md inline note carry the same facts.
Author
Owner

Coupled downstream follow-up (Surveyor review 3731 on #479). Once this ADR-0008 anchor-refresh lands, a single follow-up PR to docs/architecture/test-strategy.md should fold two Surveyor refinements:

  1. Simplify the §6b rot-magnet note — the current note hard-codes the STALE ADR anchors (release-prep.sh:541-546 / reusable-release.yml:390-395) to flag the drift. That itself rots. After this refresh makes ADR-0008's anchors correct, drop the parenthetical to a plain cite (the drift no longer exists).
  2. Sharpen the ASCII-constraint framing (§1) — reframe from "§1 adopter-surface" to harness-fidelity constraint: it binds log() output not because adopters see it (they don't — it's stderr) but because §3b reuses bats assertion bodies + plain run merges stderr into $output. Add the run --separate-stderr caveat (register-check.bats:175) and the 2nd AGENTS.md rationale for the ASCII rule covering workflow YAML (#149 YAML-lint ambiguous-Unicode security) that the doc omits.

Both are non-gating; #479 merged as-is. Sequence: this ADR refresh → then the coupled test-strategy refinement PR (so #2's note-simplification has the fixed ADR to cite).

**Coupled downstream follow-up (Surveyor review 3731 on #479).** Once this ADR-0008 anchor-refresh lands, a single follow-up PR to `docs/architecture/test-strategy.md` should fold two Surveyor refinements: 1. **Simplify the §6b rot-magnet note** — the current note hard-codes the STALE ADR anchors (`release-prep.sh:541-546` / `reusable-release.yml:390-395`) to flag the drift. That itself rots. After this refresh makes ADR-0008's anchors correct, drop the parenthetical to a plain cite (the drift no longer exists). 2. **Sharpen the ASCII-constraint framing (§1)** — reframe from "§1 adopter-surface" to **harness-fidelity constraint**: it binds `log()` output not because adopters see it (they don't — it's stderr) but because §3b reuses bats assertion bodies + plain `run` merges stderr into `$output`. Add the `run --separate-stderr` caveat (`register-check.bats:175`) and the 2nd AGENTS.md rationale for the ASCII rule covering workflow YAML (#149 YAML-lint ambiguous-Unicode security) that the doc omits. Both are non-gating; #479 merged as-is. Sequence: this ADR refresh → then the coupled test-strategy refinement PR (so #2's note-simplification has the fixed ADR to cite).
bosun closed this issue 2026-07-30 16:46:42 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#480
No description provided.