{
  "entry": {
    "seq": 5269,
    "at": "2026-11-02T02:21:44.266Z",
    "type": "safety.rating",
    "subject": "skill:github-com-sansan0-trendradar-ae19178305",
    "payload": {
      "as_of": "2026-10-27T12:22:38.415Z",
      "band": "Limited public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "3fbc4345eb5dea1abfd4e6b0a34e4fb15d1a60fb88d99678d41192d07fcee3f2",
      "id": "github-com-sansan0-trendradar-ae19178305",
      "kind": "skill",
      "rating_sha256": "baaebed0dc43df00415a28e93cce6783adc2703ab75ae8f1067e52667d13587d",
      "score": 31,
      "stream": "safety_ratings"
    },
    "payload_hash": "133b7fe21d5650b608ef624b00c7343d5e45b48b10f07ea46b79604770b695dc",
    "leaf_hash": "8db3e1233b23a47613b212d81d5f2a5cd10d6881aebf8361e8d1209977a7445d",
    "block_height": 2466,
    "texts": {},
    "data": {
      "as_of": "2026-10-27T12:22:38.415Z",
      "band": "Limited public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "3fbc4345eb5dea1abfd4e6b0a34e4fb15d1a60fb88d99678d41192d07fcee3f2",
      "id": "github-com-sansan0-trendradar-ae19178305",
      "kind": "skill",
      "rating_sha256": "baaebed0dc43df00415a28e93cce6783adc2703ab75ae8f1067e52667d13587d",
      "score": 31,
      "stream": "safety_ratings"
    }
  },
  "status": "sealed",
  "block": {
    "v": 1,
    "height": 2466,
    "prev_hash": "e8ec9194e41543db0dadc79cafb0b18a404ec6a7f6a60affa6e9fd388c1a0166",
    "merkle_root": "86ce36dfbb611cb6c2216db80079b965b6436127dbe408c14ddad0e97c5e19f9",
    "first_seq": 5266,
    "last_seq": 5273,
    "entry_count": 8,
    "at": "2026-11-02T02:21:44.313Z",
    "key_id": "key_41eb7b6d1b11968a",
    "block_hash": "3910e6651cb8e074796de8b6bff6b374d84b3f9b0ccdc611a996aa5bce269322",
    "signature": "0r21zWvVTMS9lg9PgZYiOxUWXy9qyyqNHorlSPgOmkS0DDt7JtYqSUI+V/l6sbZQ7PouQ6cy7Vl98wCMy6csAw==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAEYWJAvPDwdwiByA4ucuPBAV0jLWwXGgtbZqbyrLNMiM=\n-----END PUBLIC KEY-----\n"
  },
  "proof": {
    "leaf_hash": "8db3e1233b23a47613b212d81d5f2a5cd10d6881aebf8361e8d1209977a7445d",
    "index": 3,
    "path": [
      {
        "side": "L",
        "hash": "6753186b3b30af1c305fdeb992702435781687c56f8433df49886b7a4a654e7e"
      },
      {
        "side": "L",
        "hash": "1bfc6c08db16225c514f79b1800491b8d98a95040e05d0a716584de5baab1caa"
      },
      {
        "side": "R",
        "hash": "7f9e320a08d54db813cad3026458bfb304c7c3839ac7663cd545cd1d62a617da"
      }
    ],
    "merkle_root": "86ce36dfbb611cb6c2216db80079b965b6436127dbe408c14ddad0e97c5e19f9",
    "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": 6070
    },
    "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."
  }
}