Skip to content

docs: ADR-0037 references, and the NAS drives are bought - #457

Merged
Gerrrt merged 4 commits into
mainfrom
gerrrt/adr-0037-refs-and-nas-drives-bought
Sep 11, 2026
Merged

Gerrrt merged 4 commits into
mainfrom
gerrrt/adr-0037-refs-and-nas-drives-bought

Conversation

@Gerrrt

@Gerrrt Gerrrt commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Two unrelated documentation corrections, one commit each.

c3854f4 — tier-CA references point at ADR-0037

The sensitive tier's CA decision landed as ADR-0037; ADR-0035 is now the Hue bridge scope. Two references were left behind:

  • stacks/sensitive/Caddyfile cited 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.md described 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 bought

Two Seagate Exos X20 18 TB (ST18000NM003D), bought 2026-09-11 for zion's mirror. Per the buy list's own rule, the purchase edits that section in the same commit:

  • the row moves from Buy these to Already paid for
  • the two narrative passages still calling the drives outstanding are updated
  • hardware.md gains 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 with smartctl -a on arrival, not a fact

README 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.py assertion 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 validate passes 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

Gerrrt and others added 2 commits September 11, 2026 05:31
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>
Gerrrt and others added 2 commits September 11, 2026 06:02
…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>
@Gerrrt
Gerrrt merged commit af0f5a0 into main Sep 11, 2026
3 checks passed
@Gerrrt
Gerrrt deleted the gerrrt/adr-0037-refs-and-nas-drives-bought branch September 11, 2026 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant