Repository navigation
docs: ADR-0037 references, and the NAS drives are bought - #457
Merged
Merged
Conversation
Two references went stale when the sensitive tier's CA decision landed as ADR-0037 and 0035 was taken by the Hue bridge scope. `Caddyfile` cited ADR-0035 for "the tier's own intermediate". The wording is right — ADR-0037 mints a root and an intermediate, and Caddy issues from the intermediate over ACME — only the number was wrong. `architecture.md` said step-ca is "an intermediate beneath the lab CA", which is the shape ADR-0037 reversed: the tier gets a root of its own and "the estate's CA is untouched". That one was wrong about the design, not just the citation, so it now names the ADR. The seven other ADR-0035 citations are Home Assistant and the 99 -> 20 pass, and are correct. Refs #129, #130 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Two Seagate Exos X20 18 TB (ST18000NM003D) bought 2026-09-11 for `zion`'s mirror. Per the rule the buy list carries, the purchase edits that section: the row moves from "Buy these" to "Already paid for", and the two narrative passages that still called the drives outstanding are updated with it. `hardware.md` gains the entry, beside the TS150 it goes into. It records that a mirror of two is 18 TB usable and not 36, and that the listing's zero power-on hours is a claim to read back with `smartctl -a` on arrival rather than a fact — the drives are in transit and nothing has been verified yet. README said "three items now, one later" of the outstanding purchases. That was already wrong before this change: the reconciliation on 2026-09-10 grew the table from three rows to seven without touching the sentence. Removing the drives leaves six, which is what it now says. Nothing asserts this count in CI, which is why it drifted — in the sentence that exists because a purchase got missed. The boot disk is still to buy, and is now what #413 waits on. Refs #413 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…table The count was prose on both ends, so nothing caught it drifting. The reconciliation on 2026-09-10 grew the buy table from three rows to seven and left README saying "three items now" — in the sentence that exists because a purchase had been missed once already, in a file check_docs.py already reads. This makes the roadmap's table the source. That is a deliberate exception to the scope rule rather than a hole in it: roadmap.md is still not checked as prose, because it records what was true when work landed. It is read here as a source, the way compose.yaml and network.md are, and it earns that because its own rule makes the table the one place a purchase may enter or leave. The "one later" half is asserted too — `ifrit` is a paragraph rather than a row, and a second such paragraph would make the word wrong the same way. A reworded claim fails loudly rather than silently passing: the check reports that it can no longer find the sentence and asks for a deliberate decision, rather than quietly asserting nothing. Verified by replaying all four drifts against the working tree — the real 2026-09-10 undercount, a wrong "later" half, a row leaving the table, and the sentence being reworded away — each caught, then reverted. Refs #72 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
An Intel DC S3520 240 GB, bought 2026-09-11. The buy-list row does not leave, it narrows: the SSD half is spent and the bracket half is not, and the drive cannot be fitted without it — the TS150's optical bay is 5.25" and this is a 2.5" drive. So the table still has six rows and README still says six, which the assertion added in the previous commit confirms rather than the author asserting it. The part is a data-centre SSD where the roadmap asked only for "a 240–256 GB 2.5" SATA SSD". `hardware.md` says why that is worth recording rather than smoothing: the endurance is beside the point on a boot disk, but the power-loss protection is the same property the SM863a pair was bought for. With this, #413 is no longer blocked on money for the machine itself — box, mirror and boot disk are all bought. What remains is the bracket and a build. Refs #413 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.
Two unrelated documentation corrections, one commit each.
c3854f4— tier-CA references point at ADR-0037The sensitive tier's CA decision landed as ADR-0037; ADR-0035 is now the Hue bridge scope. Two references were left behind:
stacks/sensitive/Caddyfilecited ADR-0035. The wording ("the tier's own intermediate") is correct — ADR-0037 mints a root and an intermediate, and Caddy issues from the intermediate over ACME. Only the number was wrong.docs/architecture.mddescribed step-ca as "an intermediate beneath the lab CA". ADR-0037 reversed that shape — the tier gets a root of its own, and "the estate's CA is untouched". Wrong about the design, not just the citation.The other seven ADR-0035 citations were checked and are correct — all Home Assistant and the 99 → 20 pass.
428bf50— the NAS drives are boughtTwo Seagate Exos X20 18 TB (
ST18000NM003D), bought 2026-09-11 forzion's mirror. Per the buy list's own rule, the purchase edits that section in the same commit:hardware.mdgains the entry, beside the TS150 — recording that a mirror of two is 18 TB usable, not 36, and that the listing's zero power-on hours is a claim to read back withsmartctl -aon arrival, not a factREADME was already undercounting
It said "three items now, one later" of the outstanding purchases. That was stale before this change: the 2026-09-10 reconciliation grew the table from three rows to seven without touching the sentence. Removing the drives leaves six, which is what it now says.
Nothing asserts this count in CI, which is how it drifted — in the sentence that exists precisely because a purchase got missed. A
check_docs.pyassertion tying it to the table would be the durable fix; not done here.The boot disk is still to buy, and is now what #413 waits on.
Validation
make validatepasses in full (3 skips, all "not the deployment checkout").check_docs.py: 9 assertions OK.check_caddyfile.sh: adapts, provisions and is formatted.Refs #129, #130, #413
🤖 Generated with Claude Code