ADR-0090 The check that looks at the page can look at the served one
#Context
ADR-0086 put docs:check-site into CI and into the battery, and closed by naming what it still could not see:
Phase 6's remaining claim is still the deploy. Everything above is the built site read from disk. r136.dev itself was not fetched this pass, and no claim here is about the served site.That sentence has now survived several passes, and it survived them for a mechanical reason rather than a considered one. check-docs.mjs declared its target as const BASE = followed by a template literal over 127.0.0.1 and a port, and it started the server it then measured. The only check in this repository that looks at what a reader would see could not be pointed at what readers actually see. Everything it asserted was true of a build on the machine running it.
#Decision
DOCS_CHECK_ORIGIN selects the origin the page checks read. Unset — which is what CI, pnpm battery and every existing invocation do — the script starts a production server against the local build and behaves exactly as before. Set, it skips the server and points every page.goto and every fetch at that origin.
Two things deliberately do not move with it. The route list still comes from this repository's build, so the remote form asserts that the origin serves what this repository builds rather than asking the origin what it has. And the static checks still read repository files — the stylesheet, the layout — because those are claims about the source, not about the deployment.
The remote form does not join CI or the battery. It would go red whenever the deployment lagged a push, which is not a defect in the site, and ADR-0086 already records what a permanently red workflow does to the people who see it. It would also make this repository's CI depend on a host being up. The remote form is run when the deploy is the question.
#What it found
r136.dev serves c183223, which is this branch's HEAD. The commit is on the page because repo.ts stamps the commit that last touched each source, so the deployment identifies itself and did not have to be taken on trust.
16 checks run, 0 failing, across 337 pages fetched over the network. The pre-existing width rows are the same ones ADR-0086 attributed to the components themselves, and the open item on the mark is unchanged.
#The route figure was carried wrong again, and the same way
ADR-0086 measured 334 and recorded the lesson that a build has to be clean as well as current. The figure then written forward was 335 — 334 plus ADR-0088's page, counted by eye.
Measured against a clean build at HEAD it is 337. Three ADR pages were added after the 334 measurement, not one: 0087, 0088 and 0089. The arithmetic was right and the input to it was a guess about how many pages had been written.
This is ADR-0086's failure repeated one level up. There the tool call ran against a stale directory; here no tool call ran at all, and a measured figure was advanced by reasoning to a figure that was not measured. A number that has been added to is no longer a measurement, and it inherits none of the authority of the one it came from.
#Consequences
Phase 6's deploy claim is measured rather than carried, and the sentence ADR-0086 closed with can be retired.
The check now has two forms, and they answer different questions. The local form asks whether this repository builds a site that holds together, and CI runs it on every push. The remote form asks whether the thing at r136.dev is that site, and nothing runs it unless someone is asking.