BB2G Sovereign StudioBorn Between 2 Generals

Publish the check, not the promise

Run all 28 of them yourself, here, now.

"Every figure on this site is computed from the catalog" is exactly the sentence a site should not be believed about. So the checks are not a claim on this page — they are a file, /assets/checks.js, which your browser downloads and executes. It imports nothing from the build. Where it can, it takes a deliberately different route: the build summed a field it had already collected, this walks the sources and asks each one.

And the build runs this same file. Not a copy of it and not a second implementation of the same idea — the identical bytes, loaded in Node the way a browser loads them, via new Function('window', src) against a fetch shim. If the file the reader executes and the file the build checks ever became two different files, that would be the exact fault this arrangement exists to prevent.

What the build got when it ran the same file

Node, at build time, against the built site on disk. If your browser disagrees with this table, one of us is wrong and it is worth finding out which.

CheckExpectedGotNote
PASSSource count equals the number of source records2020walked the array and counted, rather than reading the length the build wrote
PASSDataset rows equal the sum of every measured row count680680summed measured.rows across every source, including the ones that have none
PASSDocument words equal the sum of every measured word count3999439994
PASSByte total equals the sum of every file size711593711593
PASSSources permitted to leave the device00strict equality to true — a truthy value is not a permission
PASSSources permitted for training00
PASSRestricted sources11
PASSSources never verified33
PASSNothing in the catalog is uncatalogued00a staged file with no declaration is a finding, not a default
PASSEvery source carries a 64-character hex digest00checked 20 digests
PASSNo two different sources share a digest00identical files would be a duplication worth knowing about, not an error
PASSThe engine served to this browser is the engine the catalog recorded7939033a95931503a495270902dec4a611a3f6cda5753d7f71a05ec88a41e95a7939033a95931503a495270902dec4a611a3f6cda5753d7f71a05ec88a41e95athe file this page just downloaded, hashed here, against the digest written at build time
PASSThe declarations file is the one the catalog was built frome73634ab3bccfe8adf0ac57fd51bb0cb0eeee2af52a3e83a8fc683d4582ab341e73634ab3bccfe8adf0ac57fd51bb0cb0eeee2af52a3e83a8fc683d4582ab341
PASSBoth revenue sum mismatches reproduce, and the third row does not3 rows, 2 mismatched, 1 exact3 rows, 2 mismatched, 1 exactadded the parts here with a plain loop. Revenue scenario — Conservative: parts 265200 vs stated 265000 · Revenue scenario — Base: parts 904440 vs stated 904000
PASSThe estate measurement disagrees with the blueprint, and both are datedat least two dated, disagreeing measurements2 claims, 2 distinct values, 2 dated301 as at 2026-08-04 vs 543 as at 2026-08-15
PASSEvery extracted claim names a file, a locator and a digest00a finding that cannot be walked back to a byte range is not evidence
PASSEvery claim’s digest matches the catalogued digest of the file it came from00a claim extracted from a file that has since changed would surface here
PASSEvery graph edge carries a citation and a named power00checked 25 edges. An uncited power is refused at load.
PASSEvery graph edge points at actors that exist00
PASSEvery graph edge states where the power stops00a power with no stated limit is the shape of an authority nobody bounded
PASSThe electorate is the only actor nothing checkselectorateelectoratecounted inbound edges per actor
PASSEvery page linked from the navigation actually answers0013 routes checked
PASSNo page requests anything from a third-party host00read the served HTML of 5 pages for any absolute URL off this origin
PASSThe front page prints figures the catalog supports00source count, dataset rows and border count all appear in the page as served
PASSEvery loop and poster referenced by a page is actually there006 loops and 6 posters, each present, non-trivial, and not HTML
PASSNo page promises that this costs nothing0013 pages read as text, matched against 11 promise and price-magnitude patterns. The word itself is permitted where a source is being quoted.
PASSThe runtime gate on model answers is calibrated in both directionsclears real figures, flags invented onesreal: clear (2 checked) · invented: 2 flagged2 of 4 figure(s) appear nowhere in the catalog: 41, 12345.
PASSNo street address or telephone number is published00checked 3 pages

The build gates

17 gates, every one poison-tested.

A gate nobody has seen fail is not a gate. node tools/gates.mjs --poison deliberately breaks each condition in a scratch copy of the site and requires the corresponding gate to fail. A gate that stays green against its own poison is reported as vacuous and fails the build on that ground alone.

GateWhat it refusesIts poison
catalog-completeA staged file with no declaration in the knowledge constitution.Add a file to the staging folder and rebuild the catalog without declaring it.
engine-identicalThe engine served to the browser differing by a single byte from the one the build imported.Append a comment to web/engine/sovereign.mjs after the copy.
checks-runAny check in /assets/checks.js failing when the build runs that same file in Node.Alter one catalog total so the recomputation disagrees.
checks-not-vacuousA checks file that reports nothing, or that passes when the catalog is corrupted.Run the checks against a catalog with a deliberately wrong source count and require a failure.
no-dead-linksAn internal href pointing at a file that is not in the build.Rename a page after the HTML referencing it is written.
no-third-partyAny absolute URL to a host other than this one in the built HTML or CSS.Insert a Google Fonts link into the layout head.
no-free-no-priceThe word used as a price, or an invented figure for the fee, application or sale.Put "Explorer — free tier" into a page.
no-address-no-phoneA street address or a telephone number in any built file.Add a street line to the footer.
media-presentA loop, poster or film referenced by a page but missing, tiny, or answering as HTML.Truncate one loop to a few hundred bytes.
loops-seamlessA loop whose wrap is more than 2.5x its own median frame step.Rebuild a loop with the crossfade removed.
reduced-motionA page whose reduced-motion rules do not resolve to the finished state.Remove the reduced-motion block from site.css.
graph-citedA graph edge with no citation, no limit, or an endpoint that is not a node.Blank one citation in data/graph.json.
claims-anchoredAn extracted claim whose digest no longer matches the file it came from.Change a staged file without re-extracting.
findings-not-vacuousA contradiction detector that returns nothing, or that fires on the row which adds up.Correct the two revenue rows and require the detector to go quiet, and separately require the exact row never to be reported.
border-deniesA restricted source being permitted to leave in any mode, or private mode permitting anything.Set may_leave_device true on the restricted source and require a denial anyway.
runtime-gate-calibratedA gate on model answers that clears an invented figure, or a console that never calls it.Rename runtimeGate in the console and require the gate to notice.
contrastHero or band type below 4.5:1 against the graded footage at either luminance extreme.Set the kicker to the muted grey and require a failure.
Innovate · Educate · Elevate