Provenance
Where the code came from
The blueprint's whole argument is that the hard parts should not be written twice. It would have been inconsistent to make that argument on a site whose own cryptography was a second implementation of somebody else's, so it is not one.
assets/crypto.mjs — lifted, not rewritten
The crypto substrate was copied verbatim from
ballot-trail/assets/mblts.mjs — the engine that already ships live at
ballottrail.bornbetween2generals.com.
The file says so in its own header, in the first sentence, rather than leaving it to be discovered:
These bytes are LIFTED VERBATIM from ballot-trail/assets/mblts.mjs, the engine that already ships live at ballottrail.bornbetween2generals.com. They are not a second implementation. Deliberately so: the blueprint's whole point is that sixty modules must not each grow their own copy of the hard parts.
Why it matters that it was copied. Reimplementing Ed25519, CanonicalJSON and a Merkle
construction for a second election product is the exact fault the blueprint names. Two
implementations can disagree, and this is a product whose entire value proposition is that a record
can be independently verified. A verifier that disagrees with the signer is worse than no verifier.
So the primitives were taken across whole, and the copy is checkable rather than asserted:
docs/VERSION_RECONCILIATION.md records which sections came across, which did not, and the
declaration-by-declaration comparison between the two files.
Two things carry over with it. The Ed25519 implementation is pure BigInt rather than a call into WebCrypto, because WebCrypto's Ed25519 is still uneven across browsers and a verifier the reader cannot run is not a verifier — which is what makes verify it yourself possible in the reader's own browser. And the upstream file's own caveat comes with it rather than being quietly dropped: it is a reference implementation using extended coordinates and a plain double-and-add ladder, not hardened against physical side-channel attack, and production keys belong in an HSM.
Written for this build
assets/lockchain.mjs
The LockChain spine, written against the blueprint's LockChain Core specification. Engine version 1.0.0, schema 1.0. Canonical event fields, the hash chain, signed checkpoints, the four integrity layers, correction links, the sync-state ladder and the evidence ladder. One file for two runtimes: the browser loads it to run the demonstrations and the Node gates import the same bytes.
assets/authority.mjs
The authority and currency engine, written against the blueprint's correction to the source hierarchy. Jurisdiction resolution by specificity and binding force rather than issuer altitude, supersession, effective dates, section-level currency states and the Copilot's mandatory abstention.
assets/registry.mjs
The module registry, generated from the blueprint text: 68 modules, 10 shared services, the completion dimensions and the release order. Every page on this site that lists a module, a service or a build order reads it from here, so no two pages can disagree about what exists.
The words
The blueprint is Kristen Hall's. Where this site quotes it, it quotes it — her sentences are not paraphrased into something smoother, and the constraints she wrote as prohibitions are rendered as prohibitions. Every source she cited is reproduced on standards & sources with nothing added to the list.
The governance record is published as written:
docs/CURRENT_SYSTEM_INVENTORY.md, docs/MODULE_COMPLETION_MATRIX.md, docs/MODULE_REGISTRY.md, docs/VERSION_RECONCILIATION.md.
The gates
7 gate files in test/, listed from the directory at build time. Their measured pass counts are on the completion matrix, where the build runs them and reads the numbers out of their own output.
| Gate | What it checks |
|---|---|
test/engine.mjs |
LockChain Core and the doctrine. Four integrity layers each poison-tested — an edited event, a removed event, a reordered pair, an unregistered signer, a forged signature, a lied-about event count and a deleted committed event. Then the doctrine: a correction appends and never edits, the ledger exposes no mutating method, a machine may not assert ALLEGATION, EVIDENCE, FINDING or CONCLUSION, a held sync state can never share a tone with a confirmed one, and describeLimits() refuses the word that overclaims. |
test/gate-authority.mjs |
Authority resolution, abstention and source currency. Poison-tested both ways: a federal framework does not outrank controlling state law on procedure, and controlling state law does not make the framework irrelevant on cybersecurity. Plus the 2020-deadline trap — a page that fetches fine can still be stale per section — and the rule that a successful fetch is RETRIEVED, never VERIFIED. |
test/gate-contrast.mjs |
Present in test/ at build time; not described here. |
test/gate-film.mjs |
Present in test/ at build time; not described here. |
test/gate-provenance.mjs |
The lift itself. Re-reads the upstream engine at ballot-trail/assets/mblts.mjs and checks that every declaration crypto.mjs exports also exists there, that every lifted declaration is byte-identical, that exactly two constants are re-namespaced and only their value differs, that re-namespacing does not change primitive output, and that the separation is real one level up inside the signed checkpoint preimage. Poison-tested: the comparison still detects a real one-character change. |
test/gate-vectors.mjs |
Present in test/ at build time; not described here. |
test/gates.mjs |
The build gates, run against the rendered site in dist/ rather than against the engine. Among them: the word that overclaims is never our own claim, no page claims the record proves truth, no machine-authored conclusion word appears in prose, no price and no trial offer, no street address and no phone number, no invented person and no fabricated quotation attributed to one, every internal link resolves to a built file, every media reference exists on disk, every CSS class and token used is actually defined, reduced motion resolves to a finished state, and the claim "poison-tested" is backed by an actual poison run. |
Every gate is poison-tested. A check that only exercises the happy path is a check nobody has seen fail, and a gate nobody has seen fail is decoration. The list above is the directory listing as it stood when this page was generated, not a list somebody remembered to keep updated.
House style and motion
The Lure motion system
Motion is the BB2G drop-in kit, loaded from
motion.bornbetween2generals.com
— motion.css and motion.js, linked rather than copied, which is the
same shared-asset principle the blueprint argues for at the code level. The
bbm-js class is set inline in the document head on purpose: deferred is too late, and
without it a visitor with JavaScript off would get a blank page instead of a static one.
Reduced motion is honoured
Every loop on this site is decorative, silent and skippable. A reader who has reduced motion enabled gets the poster still and no movement at all. Nothing on any page depends on a video playing, and no information is carried only by an animation.
Type and colour
BB2G house style — ivory, black and gold — in
assets/house.css and assets/command.css. Light and dark are both first
class: the theme is settled before first paint from a stored choice or the system preference, so
there is no flash, and the toggle in the header wins in both directions.
The mark
The laurel-wreath globe in the header is drawn as inline SVG in
scripts/shell.mjs at 44px, from the Born Between 2 Generals business card. It is a
graphic, not text, so it keeps its own ink when the ground flips.
The footage
6 clips, read at build time from
media/credits.json. Every field below is whatever that
manifest recorded; a field the manifest did not carry reads not recorded rather than being
filled in.
| Loop | Pexels id | Photographer | Source |
|---|---|---|---|
| herohigh tech traffic management control room | 38779103 |
Kiwi and Camera | https://www.pexels.com/video/high-tech-traffic-management-control-room-38779103/ |
| custodysealing cardboard box with adhesive tape | 6169088 |
Tima Miroshnichenko | https://www.pexels.com/video/sealing-cardboard-box-with-adhesive-tape-6169088/ |
| fieldempty classroom | 5735358 |
Pavel Danilyuk | https://www.pexels.com/video/empty-classroom-5735358/ |
| chainroller chain of a machine | 9373206 |
Mikhail Nilov | https://www.pexels.com/video/roller-chain-of-a-machine-9373206/ |
| evidencea card catalog at a library | 6550428 |
Tima Miroshnichenko | https://www.pexels.com/video/a-card-catalog-at-a-library-6550428/ |
| nightdatabase storage of a server | 5028622 |
ALL IZ Well | https://www.pexels.com/video/database-storage-of-a-server-5028622/ |
Footage is licensed from Pexels. Every loop is muted, silent, decorative and marked
aria-hidden; each one carries a poster still so a reader who has reduced motion turned on,
or who never reaches the block, sees a graded frame rather than a hole in the page.
What this site is
An engineering artifact built from a written blueprint, by Kristen Hall for Born Between 2 Generals LLC. It is not legal advice, not an election certification, and not a substitute for jurisdiction-specific election law. It sits beside official election systems and never inside them. Any pilot or deployment must be approved and governed by the relevant election authority, and adoption is voluntary and adopter-controlled.