Release history
Every push to dev is a release: CI validates the site, verifies the version bump, tags the commit v{release}.{major}.{minor}, and deploys to GitHub Pages. The version is owned by admin/build/version.txt and must agree with the release commit's subject. How it works.
| Version | Date | What shipped |
|---|---|---|
| v0.1.0 | 23 Aug 2026 | The site, first release — pipeline first, then the eight sections the brief sequences first.
The pipeline before the content, so that every release from here goes through a gate that already works: validate → auto-tag → deploy, carried over from the sibling sites with the merge-commit anchoring and the SIGPIPE fix those sites had to learn the hard way. Ten checks, three of them written for this site specifically. The over-claim tripwire is the load-bearing one: nothing in this risk corpus is implemented in code, so no page may say the engine is built, shipping or installable — a page may state such a claim only by marking the element /acceptance/ — the founding inversion, five pages. Underwriting rather than prediction, with the temporal move that makes the rest coherent: the risk already exists the moment the permission is provisioned, so the only variable is how long. There is no deny button, including the correction that replaces one button with three moves — accept, escalate, or challenge the fact — because presenting a single button to someone who feels cornered produces resentment rather than compliance. The interval ladder as a six-row table with the operational response and the cost stated per rung, the default at one month set deliberately just above the incident line, and rungs struck off where a remediation is physically impossible. Unaccepted equals critical — escalation without an escalator, aimed at attrition rather than refusal. And the underwriting graph, with override and compound pre-approval published as proposed and unfinished rather than tidied up. /acceptable/ and /ladder/ — the vocabulary and the machinery. Two orthogonal axes drawn as four quadrants, appetite as a revealed band computed from two signals, and the Article 9(5) gap where the obligation to judge acceptability is imposed and the standard is not supplied. Then the definitional spine: the grounding ladder with each rung defined by its required paths, node type formulas including the honest limit that no formula language exists and nothing executes one, bridges rather than merges with the worked external bridge, and not-knowing-is-a-fact. /plug/ — moved off the commercial site, with a correction it does not carry. Two symmetric risks, the four-way time intersection, the 12–18 hour detection floor, and the pillar correction that the plug always exists — what older registers recorded as “no plug” was zero recoverability, and restating it that way turns an unassignable blank into an ownable finding. Recoverability gets its own page for the flagship query: show me every accepted risk whose recoverability is zero. /examples/ — the proof layer, seven pages. The three worked graphs with their real counts (59/75, 51/53, and the Article 26(5) inventory), the four live vaults with the read-keys-yes-write-keys-never rule stated as the pipeline property it is, the ten scenarios, and the seven-row plug register. Two things are stated rather than fudged: the 2FA data file is not mirrored here (task T5) because a reconstructed graph presented as the original would be worse than a missing one, and the browser-isolation graph's counterweight figure is published in both directions rather than in the one that flatters the argument it sits in. /concepts/ and /agents/ — the commissioned audience. All 42 concepts with a stable anchor each, a one-line definition, maturity stated honestly, canonical source path and the page that argues it — plus the same 42 as structured data with the reading order and the six teaching altitudes. Both are generated from one definition, and the gate re-checks the count, the fields, the version and every anchor at release time, so they cannot drift. And the parts a research site owes a reader. /shipped/ says the engine is not built, first rather than last, with the grep result quoted. /network/ carries the eight-site boundary map, eight open questions published unresolved and seven honest tensions — including that the model rates the ability to stop and refuses to provide it. /origins/ traces the trajectory from February's “residual risk: acceptable” to June's “there is no deny button”, and names the canonical brief that eight documents cite and nobody can read. /documents/ publishes the eleven sources and, at equal length, what was deliberately excluded and why. /about/participant.html discloses that this site is published by the project that sells the product, and then states five places the model loses. |
Versioning. v{release}.{major}.{minor}. Every push to dev is a minor release and must bump admin/build/version.txt exactly once, with the same version in the commit subject as site vX.Y.Z: …. CI verifies the two agree and that the bump is the next minor (or a deliberate major), then tags the release commit — HEAD on a direct push, HEAD's parent when a pull request lands as a merge commit. The first run backfills tags for any historical release from the commit subjects.