one dialect, every member

The family, one status.

crashtest serves its own adversarial verdicts at /status.json, generated from the committed ledger 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.

The family, one dialect

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

Reading the family's served status files...

What you are looking at

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

◉ the dogfood ledger

The committed verdict ledger (labs/crashledger.json): crashtest eating its own cooking - the seeded attack run over the hardened demo app. A new EXPLOITED fails CI; a verdict change fails until re-baselined.

⇄ packs shipped

The packstruct@1 packs this repo exports, each with its declared attack count read from the pack bank itself. A pack the campaign never fires is refused, never served as zero.

✗ one bad sibling

A member not serving the dialect yet renders its own honest "not serving" row - never a guessed number, never a default PASS. One bad sibling degrades only its own row.

✓ exploited, ever

The only number that should always read 0. If it does not, the next CI run is red and the fix comes before any release post cites these ledgers again.