status

The committed memory, live.

poststruct serves its own verdicts at /status.json, generated from the committed ledgers 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 pack campaign

The committed verdict ledger (packs/eye-ledger.json): every pack's check rows over the tree the campaign fires at. A new EXPLOITED fails CI; a verdict change fails until re-baselined.

⇄ the audit battery

The fixture corpus's refusal contract (labs/battery.json): the exact FAIL ids the bad fixture must produce. The same list test/run.mjs reconciles against on every push.

✗ packs shipped

The packstruct@1 packs this repo exports. Every committed manifest must carry ledger rows - a pack the campaign never fires is refused, never served as zero.

✓ 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.

The family, one dialect

Four repos serve the same status contract: one schema, one fixed path, ledger-derived numbers only.

Reading the family's served status files...

When it goes red

A red gate names its artifact and reason-code. The triage map lives in the docs: which leg failed, what the row means, and the mechanical fix.