Repository navigation
docs(roadmap): the file is the shape of the open work again, and its history is changelog.md (#577) - #584
Merged
Conversation
…history is changelog.md (#577) roadmap.md was 2,790 lines and said in its header that status lives on the issues. Twenty-one of its thirty open-section entries pointed at closed issues, the buy section carried ten dated paragraphs around a two-row table, and Done was 1,450 lines. It took 177 commits in thirty days, three of them pure drift fixes. Now it is the ordered shape of the open work: one section per GitHub milestone in working order, each with its close condition and only the issues whose gate or order needs a sentence the issue cannot carry. Everything still to buy keeps its rule, its table, the ifrit paragraph and the decision-gated bullets. Considered and declined is kept. Done is a pointer. Every dated block moves to docs/changelog.md verbatim, filed under the latest date it names, or under the date of the commit that wrote it when it names none. Nothing was summarised away. Dropped rather than moved: the old header, the four topical section headings and the one intro sentence under them, the Decided-but-not-built section (every entry of which was a redirect to a section above it), and a truncated check_docs.py's docstring and PROSE comment name the new file among the records it deliberately does not check; check_buy_list is untouched and passes. README and the four runbooks that told a reader to move an entry into Done now say the entry leaves and the changelog gets the date. Closes #577 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Gerrrt
force-pushed
the
gerrrt/roadmap-purpose-history-47224c
branch
from
September 20, 2026 23:03
a534966 to
98fd8db
Compare
…e milestone sections Main added ADR-0047 and two ADR-0048s while this branch was open. Folded into the new structure rather than dropped: - the buy table's off-estate drive row says the estate's own backup sets are not what it is for — those ride with the second age recipient; - #573 and #574 become entries under *Nothing blocks these*, each stated as its gate: a ninety-day visit for the one, a rack visit for the other; - #566 and #483 closed, so they leave the roadmap, and the #576 line says what it now watches instead of pointing at a closed issue. What those merges found — the Proxmox firewall never enabled and the `management` set derived from the node's subnet, smaug's SMART by root cron with patch state declined, what powers smaug, and both ADR-0048 decisions — is in changelog.md under 2026-09-20, which is where dated findings go now. `check_docs.py` reports 14 disagreements on this merge and every one of them is main's: thirteen counted claims about rule, ADR and runbook totals that the new rules moved, and the ADR-0048 collision itself, which PR #591 already owns. main is red at c774d64 for the same reasons. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PR #591 renumbered the second of main's two ADR-0048s. The #574 entry in roadmap.md and its dated entry in changelog.md both pointed at the old path, and now point at ADR-0049. That merge also clears every one of the 14 disagreements the previous merge inherited: check_docs.py passes, 92 Prometheus and 18 Loki rules. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Gerrrt
added a commit
that referenced
this pull request
Sep 21, 2026
…rent file now #577/#584 rewrote docs/roadmap.md from about 2400 lines to 405 — it is the shape of the open work, keyed by milestone, and everything historical moved to docs/changelog.md. This branch's two roadmap edits were written against sections that no longer exist, so they are not merged; main's file is taken whole and the intent re-applied in the new idiom. - The Security entry this branch added is obsolete. Main's "Nothing blocks these" already carries a better-placed #442 entry, and the changelog already records #566 turning the firewall on. - The #530 edit is obsolete too: "Decided but not built" is gone, and #530 is closed, so it is no longer open work and no longer in that file. - What this branch owes the new structure instead: #442 closes on merge, so its entry leaves roadmap.md, and a changelog entry carries what the build found — routed not masqueraded, peers pinned to /32, §8 proved from off-estate, and sequenced behind #566 on purpose. Dated 2026-09-DD with the rest of the placeholders. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
docs/roadmap.mdsaid in its header that it is the shape of the work and that status lives on the issues. It was 2,790 lines. Twenty-one of the thirty entries under Security / Monitoring / Infrastructure / Automation pointed at closed issues; Everything still to buy carried ten dated paragraphs around a two-row table; Done was 1,450 lines. It took 177 commits in thirty days, and #536, #487 and #486 were pure drift fixes to it.Closes #577.
What the file is now
The ordered shape of the open work. One section per GitHub milestone, in working order, each with its close condition and only the issues whose gate or order needs a sentence the issue cannot carry. The header states what an entry may contain: a link, the gate, its place in the order, and why — no date except a gate that is a date — and that an entry leaves when its issue closes, with anything worth keeping going to the changelog under the date, in the same PR.
Kept: Everything still to buy (the rule, the two-row table, the
ifritparagraph, the decision-gated bullets, Never and the consumable exception, all present tense), and Considered and declined verbatim bar two lines: its first sentence pointed at a section that no longer exists, and its Authelia bullet said #103 still tracks the SSO deferral when #103 closed on ADR-0022.393 lines, from 2,790. The untouched Considered and declined section is 78 of them.
Where the history went
docs/changelog.md, new, 2,691 lines: every dated block moved verbatim, filed under the latest date it names, or under the date of the commit that wrote it when it names none. The 67 Done entries keep their shape minus the[x]. The buy section's dated paragraphs, the paid-for register, every closed-issue entry from the open sections, and the full narrative of the entries for issues that are still open (#92, #95, #101, #102, #421, #418) are all there under their dates. Nothing was summarised.A line-by-line comparison of the old file against the two new ones (whitespace-normalised) finds only these lines absent, each dropped on purpose:
- **[#100](…) Automate the Grafanafragment that was a title with no body (its Done entry moved intact);Checks
check_buy_listis untouched: the section heading, its first table and the single**One more, laterliteral are where it reads them.python3 scripts/check_docs.pypasses, ten assertions.roadmap.md#everything-still-to-buyanchors and the twenty-odd whole-file links resolve unchanged.gh api). The four closed ones cited elsewhere are reopen tickets in Considered and declined and the battery worked example in the buy exception.scripts/lint.shpasses (markdownlint-cli2, editorconfig-checker, shellcheck). CI is green on this commit: Lint, Secret scan and Validate configs.scripts/validate.shpassed before the rebase and then failed twice onobservability: promtool check config. That is the known local flake, not this change: promtool exits 0 on that file, validate.sh's owngrep -qE '^\s*SUCCESS'pipeline passes standalone,lab: promtool check configis green immediately above it, and this branch touches nothing understacks/orscripts/validate.sh. CI's isolated runner is the verdict.check_docs.py's docstring andPROSEcomment now namechangelog.mdamong the records it deliberately does not check. README,successor-handover.md,swap-the-switch.md,fit-the-ups-battery.mdandrotate-snmp-community.mdno longer tell a reader to move an entry into Done.Kept up with main, which moved ten commits under this branch
Two rebases before the branch was pushed, then a merge. Nothing upstream was overwritten:
shivato SNMPv3. The roadmap's Move the iLO and the UPS card to SNMPv3 authPriv (ADR-0036) #85 entry says the iLO is polled over v3 andmjolniris next; the device-side proof is a dated changelog entry that explicitly corrects the 2026-09-09 sentence about checking the MokerLink's UI for a v3 user page.managementset derived from the node's subnet,smaug's SMART by root cron with patch state declined, what powerssmaug, and both ADR-0048 decisions — is inchangelog.mdunder 2026-09-20. That is the split doing its job on its first real day.Because the roadmap was rewritten wholesale, git renders each of these as a whole-file conflict; every one was resolved by keeping the new structure and re-applying the upstream facts into the section they belong in.
main's ADR-0048 collision, and how it cleared
#586 and #588 merged in parallel and both numbered their ADR 0048, which turned
mainred at c774d64 and, through the merge, this branch with it: 14check_docs.pydisagreements, none in a file this change is about. #591 already owned the renumber, so this branch did not touch it and waited instead. That PR has since landed, the UPS ADR is 0049, and merging it in cleared all 14. The #574 entry here and its dated changelog entry point at ADR-0049.All three checks are green on the head commit, and the branch is level with
main.Documentation only; no host changes.
🤖 Generated with Claude Code