status

The committed memory, live.

gamestruct serves its own verdicts at /status.json, generated from its committed battery on every web build. This page reads its own file and the family's, the way a fresh agent session would - no server, no numbers fresher than the commits. Refresh to re-read.

What you are looking at

Each number is a receipt from a CI leg, not a marketing claim.

◉ the selfcheck leg

The bridgeworks' own battery (lib/selfcheck.mjs): the same 17 checks gamestruct check runs - the tree, both lanes, both bindings, and the invariant that the SAME handle drives both.

⇄ the committed contract

labs/battery.json: the expected shape of that battery. A check that silently disappears reads RED, never a smaller green; an unlisted live check reads RED too.

✗ packs shipped

gamestruct ships no packstruct@1 packs yet, so its packs array is empty - honestly empty, not omitted. The slot wakes the day a pack lands.

The family, one dialect

Every member serves the same status contract: one schema, one fixed path, receipt-derived numbers only.

Reading the family's served status files...

When it goes red

A red gate names its leg and its ledger. The dialect and the verdict rule live in the docs.