{
  "schema": "csoai.card-chain-facts/1",
  "kind": "derived",
  "note": "Every number in this file was counted or cryptographically verified from the bytes in public/signed/ at derivation time by scripts/derive-chain-facts.mjs. None was typed. Regenerate it rather than editing it.",
  "derived_from": [
    "public/signed/chain.json",
    "public/signed/card_index.json",
    "public/signed/cards/*.json",
    "public/signed/verify-card.mjs (the same verifier a stranger downloads)"
  ],
  "as_of": "2026-08-19T09:24:39.174287+00:00",
  "as_of_field": "card_index.json → created",
  "bodies": {
    "published": 335,
    "verified_valid": 335,
    "verified_invalid": 0,
    "uncheckable": 0,
    "distinct_pubkeys": 1,
    "method": "Each body re-canonicalised, SHA-256'd against its own id, and its Ed25519 signature checked against the pinned card-attestation key — by public/signed/verify-card.mjs."
  },
  "chain": {
    "positions": 335,
    "positions_header": 335,
    "header_agrees": true,
    "bodies_published": 335,
    "bodies_withheld": 0,
    "manifest_signed": true,
    "manifest_signature_state": "VALID",
    "manifest_signed_note": "true means the card-shaped envelope of /signed/chain.json was VERIFIED here by the shipped verifier (public/signed/verify-card.mjs) under the pinned card-attestation key — the ordering and the no-silent-drop claim are now signature-attested. This makes the published set non-repudiable; it still does not prove the set was not chosen."
  },
  "withheld": {
    "count": 0,
    "attested_by_published_parent": 0,
    "attested_ids": [],
    "what_this_means": "A withheld id is INDEPENDENTLY attested when a PUBLISHED card's signed body names it as `prev` — that signature covers the reference from outside the manifest. For the rest, the id and per-link signature appear inside the manifest, whose envelope is itself signature-attested: the list is non-repudiable, but it is still our own attestation of our own list, which is a weaker bind than a published parent's signed body. Both numbers must travel together; quoting only the count of withheld positions would present a disclosure as a proof.",
    "why_withheld": "None. Every chain position has a verifying body on disk. The 150-row floor previously published is a subset of this 335-card chain, not a second measurement."
  },
  "index": {
    "rows": 335,
    "rows_header": 335,
    "header_agrees": true,
    "rows_resolving_to_a_published_body": 335,
    "relationship_note": "card_index.json lists every published card body on disk (rows == files == chain positions). The 150-row floor is a subset of this chain, not a second measurement."
  }
}
