{
  "entry": {
    "seq": 5017,
    "at": "2026-11-02T02:21:43.215Z",
    "type": "safety.rating",
    "subject": "pypi:mcp",
    "payload": {
      "as_of": "2026-11-02T00:42:44.583Z",
      "band": "Good public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "84905304e9b0f2631c8db1f21859116e63bfc47e271bb55b4f3a4fff864acbf9",
      "id": "mcp",
      "kind": "pypi",
      "rating_sha256": "826514fb0532295704754e09763edc85a321d0fe8185cb598e201a116e1c0862",
      "score": 81,
      "stream": "safety_ratings"
    },
    "payload_hash": "211c9688047cfec7c0ca7fa4fa8cc725832e95fb995afaad0f53a56fa0181931",
    "leaf_hash": "6241b23584ce6150c771f235b2b42f77dfaca714a33770341e5149b4a2fa16c1",
    "block_height": 2465,
    "texts": {},
    "data": {
      "as_of": "2026-11-02T00:42:44.583Z",
      "band": "Good public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "84905304e9b0f2631c8db1f21859116e63bfc47e271bb55b4f3a4fff864acbf9",
      "id": "mcp",
      "kind": "pypi",
      "rating_sha256": "826514fb0532295704754e09763edc85a321d0fe8185cb598e201a116e1c0862",
      "score": 81,
      "stream": "safety_ratings"
    }
  },
  "status": "sealed",
  "block": {
    "v": 1,
    "height": 2465,
    "prev_hash": "5367d86ccdc6ed555409ca1b22060ef67a793744c634333e86044ab94660c81a",
    "merkle_root": "503d7bbdbc1aa443f89c4a204dca765c08b4d4adf81e7a640f8017e4f0695d75",
    "first_seq": 5010,
    "last_seq": 5265,
    "entry_count": 256,
    "at": "2026-11-02T02:21:44.313Z",
    "key_id": "key_41eb7b6d1b11968a",
    "block_hash": "e8ec9194e41543db0dadc79cafb0b18a404ec6a7f6a60affa6e9fd388c1a0166",
    "signature": "h+cepfnyUMspX4HfN6CK8hFRCimU0ons/cbrdVxYQK/iwDFXrvHitBscCI65gXCD5FUxoVL8p147x9g6J6AHAg==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAEYWJAvPDwdwiByA4ucuPBAV0jLWwXGgtbZqbyrLNMiM=\n-----END PUBLIC KEY-----\n"
  },
  "proof": {
    "leaf_hash": "6241b23584ce6150c771f235b2b42f77dfaca714a33770341e5149b4a2fa16c1",
    "index": 7,
    "path": [
      {
        "side": "L",
        "hash": "2a35f228ea9de0a07ccabd2a1d1c7b8f84683435c94ecf610e8c2373383b35d8"
      },
      {
        "side": "L",
        "hash": "c9432df274bdb6ad9be58113bb80779848686c33b0d826cb6ee8368cb148fb41"
      },
      {
        "side": "L",
        "hash": "e3b95b01e807aa6d9d3c1904487c046119ca6205e0afec8a52386b68eeb08064"
      },
      {
        "side": "R",
        "hash": "ca652f22f200f47a272723a37274511b6ddd0dfa6d08ecc6ff818921ef5a0d42"
      },
      {
        "side": "R",
        "hash": "34704aed8975271d95924ed6a6f3a6481dd8ab4f526f0ef31ba306043ccae48a"
      },
      {
        "side": "R",
        "hash": "b893348ae9bd3c979af66b1d473ae767ddec7a4f0c1ac321ab5446b53185ba43"
      },
      {
        "side": "R",
        "hash": "f59edfc953ae98c68f651f66181370b1c50b38353a40b8d7c86dd669109f6fa3"
      },
      {
        "side": "R",
        "hash": "7030180a5cedb4f51387a48c97fd1ada7b0278d93fbb50d92440fe6bdfb363c1"
      }
    ],
    "merkle_root": "503d7bbdbc1aa443f89c4a204dca765c08b4d4adf81e7a640f8017e4f0695d75",
    "how_to_verify": "payload_hash = sha256(canonical(payload)); leaf = sha256('leaf:' + canonical({seq, at, type, subject, payload_hash})); fold the path (R: sha256('node:' + acc + hash), L: sha256('node:' + hash + acc)) to merkle_root; verify the Ed25519 signature over canonical(block header)."
  },
  "finality": {
    "state": "bitcoin-anchored",
    "final": false,
    "witnesses": 0,
    "witnesses_confirmed_unaffiliated": 0,
    "witnesses_total": 0,
    "required": 2,
    "finalized_through": null,
    "bitcoin": {
      "anchored": true,
      "block_height": 974201,
      "confirmed_through": 6032
    },
    "states": [
      "recorded",
      "sealed",
      "bitcoin-anchored",
      "witness-quorum",
      "final"
    ],
    "rule": "States climb recorded -> sealed -> bitcoin-anchored -> witness-quorum -> final. A block is final only once its hash is confirmed in Bitcoin AND 2 confirmed-unaffiliated witnesses on distinct registrable domains with distinct keys have cosigned it or any later block; each header commits to every earlier block. Cosignatures from affiliated, unconfirmed, pending or challenged witnesses are public evidence but never count toward quorum. The quorum steps up on a published schedule as confirmed-unaffiliated witnesses grow: 2 required while fewer than 5 are confirmed, 3 at 5, 4 at 10, 6 at 20, 8 at 40. Every tier's requirement sits well below the count that triggers it, so churn is weather, not a freeze; the requirement is recomputed from the live count on every read."
  }
}