Conversation
… counts
`main` is red. Three failures, all from two PRs merging within a minute of each
other without seeing one another:
README.md:95 claims 41 ADRs; the repository has 42
README.md:96 claims 26 runbooks; the repository has 27
ADR-0041 is claimed by 2 files — renumber the one that landed second
#491 gave ADR-0041 to *Run the CRS326 on RouterOS* at 23:27:57Z and #495 gave
the same number to *Terminate the remote path on the lab* at 23:28:52Z. The
ADR-numbering assertion is exactly the check for this; it fired one merge too
late, because each branch was green against a `main` that did not yet hold the
other.
The remote-path ADR landed second, so it becomes **ADR-0042** — which is what
`check_docs.py` asks for by name. Renumbered: the filename, its own H1, eleven
links that targeted it, and thirteen bare `ADR-0041` mentions that meant it.
Every remaining `ADR-0041` in the tree is the CRS326 one, checked individually
rather than by pattern, because the two ADRs shared a number and a
search-and-replace would have renumbered both.
Two of the bare mentions are inside other ADRs' amendment blockquotes (ADR-0011,
ADR-0014). Updating a pointer to a renumbered file is not revising a decision,
so ADR-0001's immutability is not in question — and leaving them would be
leaving a reference to a number that now means something else.
`open-the-remote-path.md`'s pfSense rule descriptions change with it
(`WireGuard peers — ADR-0042`). Safe: the tunnel does not exist, its runbook is
gated on the jumpbox of #436, and `restore-the-firewall.md` still counts the
tripwires as though it were unbuilt.
The two README counts are the arithmetic consequence of the same two merges —
one ADR and two runbooks arrived, and the sentence that counts them did not
move.
Refs #491 #495
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
c3d4473 to
a54f5b9
Compare
#502's CI fails on three disagreements that are main's, not this branch's: README's ADR and runbook counts, and two files both claiming ADR-0041. #504 fixes all three and is green. Merged here so this PR can be verified on its own merits; the diff collapses back to two files once #504 lands on main.
|
Already landed. Closing as a duplicate of Three sessions produced this fix independently and all three were Nothing was wrong with this PR. A red One thing none of the three fixed, and that is still open: |
mainis red, and has been since 23:28Z. Every open PR inherits it.How
#491 gave ADR-0041 to Run the
CRS326 on RouterOS at 23:27:57Z.
#495 gave the same number to
Terminate the remote path on the lab at 23:28:52Z. Fifty-five seconds
apart, each green against a
mainthat did not yet hold the other.check_docs.py's ADR-numbering assertion is precisely the check for this. It isnot at fault and it needs no change — it fired the moment both files were in one
tree, which is the first moment the collision existed. A pre-merge branch cannot
see an ADR number that is still sitting in another branch.
What changed
The remote-path ADR landed second, so it becomes ADR-0042 — the file
check_docs.pynames.gitrecords it as a rename, so its history follows it.0042-terminate-the-remote-path-on-the-lab-and-route-it.mdADR-0041mentions renumberedEvery remaining
ADR-0041in the tree is the CRS326 one, and each wasclassified by hand rather than by pattern — the whole difficulty here is that
two different ADRs shared one number, so a search-and-replace would have
renumbered both. The survivors are in
roadmap.md,hardware.md, ADR-0018'samendment and
swap-the-switch.md, and all four are about the switch.Two of the renumbered mentions sit inside other ADRs' amendment blockquotes
(ADR-0011, ADR-0014). Updating a pointer to a renumbered file is not revising a
decision, so ADR-0001's immutability is not in question — and the alternative is
leaving a reference to a number that now means a different ADR.
open-the-remote-path.md's pfSense rule descriptions move with it(
WireGuard peers — ADR-0042), which is safe because nothing has been typedinto a firewall yet: that runbook is gated on the jumpbox of
#436, and
restore-the-firewall.mdstill counts the tripwires as though the tunnel wereunbuilt — which it is.
The two README numbers are the arithmetic of the same two merges: one ADR and
two runbooks arrived, and the sentence that counts them did not move.
Blast radius
secrets/*.sops.yamlDocumentation only — a file rename and reference updates. No decision text is
altered, and no ADR's content changes.
Verification
check-docswent from three disagreements to zero, which is the whole point ofthis PR. Verified there is no leftover
0041-terminatereference anywhere in thetree, including outside markdown.
Note
#502 is rebased onto the broken
mainand will stay red until this merges. Nothing is wrong with it.Refs #491 #495
🤖 Generated with Claude Code