{
  "vectors": "rightshold-ledger-verifier-conformance",
  "version": "1",
  "about": "Conformance vectors for independent implementations of the Rightshold Ledger verifier. Each vector is a daily-snapshot pair (a signed manifest and its body) plus the key set it is verified against. In these vectors the snapshot body travels as a JSON value; its bytes are the canonical serialization (keys sorted, no whitespace, UTF-8) — the same serialization the ledger's hashing rules state. A conforming verifier accepts the known-good vector in full and rejects every altered vector, failing at least the checks named in expect_failing_checks. Regenerate and compare: node scripts/gen-conformance-vectors.mjs in the published tooling reproduces this document byte for byte.",
  "checks": [
    "manifest.consistency",
    "manifest.body_sha256",
    "manifest.signature",
    "snapshot.head",
    "chain.height_sequence",
    "chain.prev_link",
    "entry.payload_hash",
    "entry.leaf_hash",
    "block.entry_count",
    "block.merkle_root",
    "block.hash",
    "block.key_published",
    "block.signature"
  ],
  "known_good": {
    "description": "A complete, correctly built and signed reference chain. A conforming verifier accepts it in full and reproduces the expected outcomes below.",
    "expect": "pass",
    "expected": {
      "blocks": 3,
      "entries": 4,
      "head_height": 2,
      "head_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
      "block_0_merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
      "entry_1_payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
      "entry_1_leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9"
    },
    "snapshot": {
      "manifest": {
        "issuer": "rightshold-conformance",
        "key_id": "key_conformance_vectors",
        "day": "2026-01-02",
        "head_height": 2,
        "head_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
        "sha256": "3e42f9847964ec2356f5f9db1877a4e64788c4c94e67949658d9d42ee607e9af",
        "signature": "AP+snK+4ozhTNhYMjNkhadZXzUNBGYppz8Sxy4+lK75eaRplSFtqSREwDuqsU0yqF6/nc03KCBJY41EOMe1kBw==",
        "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d\",\"head_height\":2,\"issuer\":\"rightshold-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"3e42f9847964ec2356f5f9db1877a4e64788c4c94e67949658d9d42ee607e9af\"}",
        "cutoff": "2026-01-02T00:00:00.000Z",
        "blocks": 3,
        "truncated": false
      },
      "body": {
        "blocks": [
          {
            "block": {
              "at": "2026-01-01T00:00:00.000Z",
              "block_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
              "entry_count": 1,
              "first_seq": 1,
              "height": 0,
              "key_id": "key_conformance_vectors",
              "last_seq": 1,
              "merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
              "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
              "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
              "signature": "6l+wzFYAKNCe/LDNhVjkJlw+hOKVlCb/WYgrgHelMDSeBWTKShAR4XTWyjGj3041lDFp9sVnJ/Vfh0kyYeqoCw==",
              "v": 1
            },
            "entries": [
              {
                "at": "2026-01-01T00:00:00.000Z",
                "block_height": 0,
                "data": {
                  "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                  "block_interval_seconds": 30,
                  "block_max_entries": 256,
                  "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                  "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                  "created_at": "2026-01-01T00:00:00.000Z",
                  "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                  "hash_alg": "sha256",
                  "issuer": "rightshold-conformance",
                  "key_id": "key_conformance_vectors",
                  "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                  "ledger": "Rightshold Ledger — verifier conformance reference chain",
                  "ledger_version": 1,
                  "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                  "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                  "signature_alg": "Ed25519",
                  "signature_scheme": "Ed25519 over canonical(header), base64",
                  "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                },
                "leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                "payload": {
                  "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                  "block_interval_seconds": 30,
                  "block_max_entries": 256,
                  "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                  "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                  "created_at": "2026-01-01T00:00:00.000Z",
                  "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                  "hash_alg": "sha256",
                  "issuer": "rightshold-conformance",
                  "key_id": "key_conformance_vectors",
                  "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                  "ledger": "Rightshold Ledger — verifier conformance reference chain",
                  "ledger_version": 1,
                  "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                  "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                  "signature_alg": "Ed25519",
                  "signature_scheme": "Ed25519 over canonical(header), base64",
                  "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                },
                "payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
                "seq": 1,
                "subject": "rightshold-conformance",
                "texts": {},
                "type": "ledger.genesis"
              }
            ]
          },
          {
            "block": {
              "at": "2026-01-01T00:00:30.000Z",
              "block_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
              "entry_count": 2,
              "first_seq": 2,
              "height": 1,
              "key_id": "key_conformance_vectors",
              "last_seq": 3,
              "merkle_root": "6a67526397b27bcfe8d81aca737eb93b20760839d5b813f9982d23b2a0ac2be2",
              "prev_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
              "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
              "signature": "i6Qg/zUDnJ2Md1CbAlJ6pkqut0kGRZAmx14PEYAGM3bQqMAFeAaIzPux7vNdakCkkX9j//UqK8zgr2Bp2dDFDA==",
              "v": 1
            },
            "entries": [
              {
                "at": "2026-01-01T00:00:10.000Z",
                "block_height": 1,
                "data": {
                  "changed": [
                    "verifier_conformance"
                  ],
                  "rules": 1,
                  "v": 1
                },
                "leaf_hash": "90e58b4db0917b5233c329a196c67e9edaced6ffd8adb0d881cd6675308bde2c",
                "payload": {
                  "changed": [
                    "verifier_conformance"
                  ],
                  "rules": 1,
                  "v": 1
                },
                "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                "seq": 2,
                "subject": "rightshold-conformance",
                "texts": {},
                "type": "rules.published"
              },
              {
                "at": "2026-01-01T00:00:20.000Z",
                "block_height": 1,
                "data": {
                  "day": "2025-12-31",
                  "journal_entries": 0,
                  "total": 3,
                  "v": 1
                },
                "leaf_hash": "baa82a005c84b1d6dbd6be3e2ed81db4fb6875d6cde73b2174a4e2d551e06ce6",
                "payload": {
                  "day": "2025-12-31",
                  "journal_entries": 0,
                  "total": 3,
                  "v": 1
                },
                "payload_hash": "ead1ba009bdab9aefaf79c50594821cf518ecb9999b489c1413f0cfd1bc2a148",
                "seq": 3,
                "subject": "activity:2025-12-31",
                "texts": {},
                "type": "activity.daily"
              }
            ]
          },
          {
            "block": {
              "at": "2026-01-01T00:01:00.000Z",
              "block_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
              "entry_count": 1,
              "first_seq": 4,
              "height": 2,
              "key_id": "key_conformance_vectors",
              "last_seq": 4,
              "merkle_root": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
              "prev_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
              "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
              "signature": "hpLpyAgepiyp6Ol/W/6+3jiTwKlGTBBQJQrKgWcqkeK8e7HUlHcBTj82unXVpp67TvoAcDmAlcz7n4nUFUE2DA==",
              "v": 1
            },
            "entries": [
              {
                "at": "2026-01-01T00:00:45.000Z",
                "block_height": 2,
                "data": {
                  "receipt": "conformance-receipt-1",
                  "v": 1
                },
                "leaf_hash": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                "payload": {
                  "receipt": "conformance-receipt-1",
                  "v": 1
                },
                "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                "seq": 4,
                "subject": "rightshold-conformance",
                "texts": {},
                "type": "receipt.issued"
              }
            ]
          }
        ],
        "cutoff": "2026-01-02T00:00:00.000Z",
        "day": "2026-01-02",
        "issuer": "rightshold-conformance"
      }
    },
    "jwks": {
      "keys": [
        {
          "kty": "OKP",
          "crv": "Ed25519",
          "x": "-nvzwyptC1sZEKZ_c1nkA6E6r2xGbPE-DlC7Rd-LRJ0",
          "kid": "key_conformance_vectors",
          "alg": "EdDSA",
          "use": "sig",
          "status": "current"
        }
      ]
    }
  },
  "tampered": [
    {
      "id": "entry-altered",
      "kind": "an entry payload altered after the block was sealed",
      "expect": "fail",
      "expect_failing_checks": [
        "entry.payload_hash"
      ],
      "snapshot": {
        "manifest": {
          "issuer": "rightshold-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
          "sha256": "4dd9adaf5fcb466c8b17b2a10415c0ff5c9d4c36468b6ac4dededf07a5c39238",
          "signature": "520qZeKlXBY9EbUgz5q3a6DUICnEHkFs3lyDzeAcTfTMDk/COp7QDrlNxjkWBh937Nr5MKWEc2nfJ1RzOnqqCg==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d\",\"head_height\":2,\"issuer\":\"rightshold-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"4dd9adaf5fcb466c8b17b2a10415c0ff5c9d4c36468b6ac4dededf07a5c39238\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "6l+wzFYAKNCe/LDNhVjkJlw+hOKVlCb/WYgrgHelMDSeBWTKShAR4XTWyjGj3041lDFp9sVnJ/Vfh0kyYeqoCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:00.000Z",
                  "block_height": 0,
                  "data": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
                  "seq": 1,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "6a67526397b27bcfe8d81aca737eb93b20760839d5b813f9982d23b2a0ac2be2",
                "prev_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "i6Qg/zUDnJ2Md1CbAlJ6pkqut0kGRZAmx14PEYAGM3bQqMAFeAaIzPux7vNdakCkkX9j//UqK8zgr2Bp2dDFDA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "90e58b4db0917b5233c329a196c67e9edaced6ffd8adb0d881cd6675308bde2c",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "rules.published"
                },
                {
                  "at": "2026-01-01T00:00:20.000Z",
                  "block_height": 1,
                  "data": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 4,
                    "v": 1
                  },
                  "leaf_hash": "baa82a005c84b1d6dbd6be3e2ed81db4fb6875d6cde73b2174a4e2d551e06ce6",
                  "payload": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 4,
                    "v": 1
                  },
                  "payload_hash": "ead1ba009bdab9aefaf79c50594821cf518ecb9999b489c1413f0cfd1bc2a148",
                  "seq": 3,
                  "subject": "activity:2025-12-31",
                  "texts": {},
                  "type": "activity.daily"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:01:00.000Z",
                "block_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                "prev_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "hpLpyAgepiyp6Ol/W/6+3jiTwKlGTBBQJQrKgWcqkeK8e7HUlHcBTj82unXVpp67TvoAcDmAlcz7n4nUFUE2DA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "rightshold-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "-nvzwyptC1sZEKZ_c1nkA6E6r2xGbPE-DlC7Rd-LRJ0",
            "kid": "key_conformance_vectors",
            "alg": "EdDSA",
            "use": "sig",
            "status": "current"
          }
        ]
      }
    },
    {
      "id": "merkle-root-wrong",
      "kind": "a block's Merkle root replaced with a root its entries do not produce",
      "expect": "fail",
      "expect_failing_checks": [
        "block.merkle_root"
      ],
      "snapshot": {
        "manifest": {
          "issuer": "rightshold-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "4a471d088c91571747deb1bfef85b3b0ca54da0f6d21ecad8817a5beae2da1b2",
          "sha256": "61a7b18969aca8ee4463def28ea704bff2327ab9b44a90c9910539676800a8b0",
          "signature": "dlZbgPGsFW13p0ShrklH+o0CR1DfajvsDheqJE4GIDOBSUXVuGTA/PwbiMEYAkpTzWTjWsrHXx3vaxRLe+AkBA==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"4a471d088c91571747deb1bfef85b3b0ca54da0f6d21ecad8817a5beae2da1b2\",\"head_height\":2,\"issuer\":\"rightshold-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"61a7b18969aca8ee4463def28ea704bff2327ab9b44a90c9910539676800a8b0\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "6l+wzFYAKNCe/LDNhVjkJlw+hOKVlCb/WYgrgHelMDSeBWTKShAR4XTWyjGj3041lDFp9sVnJ/Vfh0kyYeqoCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:00.000Z",
                  "block_height": 0,
                  "data": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
                  "seq": 1,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "91b43d21fa4e008305503e53da2a23b3f5a9b1df22aed2a69ad9197dc19ba043",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "8d0434e8fb7a472a42ea18689d13d8217103339435ccc0434dbad5f4634ff94a",
                "prev_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "LlXPn5kdrDcuk1tOMkKUs0TpEmD6K1P+a5kktMBuF1ppyVLHZV6+AVeizSuAPwitFhbb7QhvMaTlWUkLbgdRCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "90e58b4db0917b5233c329a196c67e9edaced6ffd8adb0d881cd6675308bde2c",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "rules.published"
                },
                {
                  "at": "2026-01-01T00:00:20.000Z",
                  "block_height": 1,
                  "data": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "leaf_hash": "baa82a005c84b1d6dbd6be3e2ed81db4fb6875d6cde73b2174a4e2d551e06ce6",
                  "payload": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "payload_hash": "ead1ba009bdab9aefaf79c50594821cf518ecb9999b489c1413f0cfd1bc2a148",
                  "seq": 3,
                  "subject": "activity:2025-12-31",
                  "texts": {},
                  "type": "activity.daily"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:01:00.000Z",
                "block_hash": "4a471d088c91571747deb1bfef85b3b0ca54da0f6d21ecad8817a5beae2da1b2",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                "prev_hash": "91b43d21fa4e008305503e53da2a23b3f5a9b1df22aed2a69ad9197dc19ba043",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "QsSraR8x2r5PFC3KWMSrnMqMrmdT+eYzq8EfGZ0fpieUn8U5q33AT6rZyO6jEZ7vIM03SD8oVxXsYx5jjfodAQ==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "rightshold-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "-nvzwyptC1sZEKZ_c1nkA6E6r2xGbPE-DlC7Rd-LRJ0",
            "kid": "key_conformance_vectors",
            "alg": "EdDSA",
            "use": "sig",
            "status": "current"
          }
        ]
      }
    },
    {
      "id": "signature-bad",
      "kind": "the head block's Ed25519 signature corrupted",
      "expect": "fail",
      "expect_failing_checks": [
        "block.signature"
      ],
      "snapshot": {
        "manifest": {
          "issuer": "rightshold-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
          "sha256": "4898501344e895a1dde4d440d940816a8bc13379c9a4d79bfb16961c86f4e555",
          "signature": "wx6oarGMKk8jWky1SFrZPw1wCtjZMYRAgCTLMIJ8yV8+0yctFzrJo/vvqLPjRYuw5usFsk3D2VSExwUDZcFLBQ==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d\",\"head_height\":2,\"issuer\":\"rightshold-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"4898501344e895a1dde4d440d940816a8bc13379c9a4d79bfb16961c86f4e555\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "6l+wzFYAKNCe/LDNhVjkJlw+hOKVlCb/WYgrgHelMDSeBWTKShAR4XTWyjGj3041lDFp9sVnJ/Vfh0kyYeqoCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:00.000Z",
                  "block_height": 0,
                  "data": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
                  "seq": 1,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "6a67526397b27bcfe8d81aca737eb93b20760839d5b813f9982d23b2a0ac2be2",
                "prev_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "i6Qg/zUDnJ2Md1CbAlJ6pkqut0kGRZAmx14PEYAGM3bQqMAFeAaIzPux7vNdakCkkX9j//UqK8zgr2Bp2dDFDA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "90e58b4db0917b5233c329a196c67e9edaced6ffd8adb0d881cd6675308bde2c",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "rules.published"
                },
                {
                  "at": "2026-01-01T00:00:20.000Z",
                  "block_height": 1,
                  "data": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "leaf_hash": "baa82a005c84b1d6dbd6be3e2ed81db4fb6875d6cde73b2174a4e2d551e06ce6",
                  "payload": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "payload_hash": "ead1ba009bdab9aefaf79c50594821cf518ecb9999b489c1413f0cfd1bc2a148",
                  "seq": 3,
                  "subject": "activity:2025-12-31",
                  "texts": {},
                  "type": "activity.daily"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:01:00.000Z",
                "block_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                "prev_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "h5LpyAgepiyp6Ol/W/6+3jiTwKlGTBBQJQrKgWcqkeK8e7HUlHcBTj82unXVpp67TvoAcDmAlcz7n4nUFUE2DA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "rightshold-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "-nvzwyptC1sZEKZ_c1nkA6E6r2xGbPE-DlC7Rd-LRJ0",
            "kid": "key_conformance_vectors",
            "alg": "EdDSA",
            "use": "sig",
            "status": "current"
          }
        ]
      }
    },
    {
      "id": "chain-truncated",
      "kind": "the head block missing from the snapshot body while the manifest still names it",
      "expect": "fail",
      "expect_failing_checks": [
        "manifest.body_sha256",
        "snapshot.head"
      ],
      "snapshot": {
        "manifest": {
          "issuer": "rightshold-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
          "sha256": "3e42f9847964ec2356f5f9db1877a4e64788c4c94e67949658d9d42ee607e9af",
          "signature": "AP+snK+4ozhTNhYMjNkhadZXzUNBGYppz8Sxy4+lK75eaRplSFtqSREwDuqsU0yqF6/nc03KCBJY41EOMe1kBw==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d\",\"head_height\":2,\"issuer\":\"rightshold-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"3e42f9847964ec2356f5f9db1877a4e64788c4c94e67949658d9d42ee607e9af\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "6l+wzFYAKNCe/LDNhVjkJlw+hOKVlCb/WYgrgHelMDSeBWTKShAR4XTWyjGj3041lDFp9sVnJ/Vfh0kyYeqoCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:00.000Z",
                  "block_height": 0,
                  "data": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
                  "seq": 1,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "6a67526397b27bcfe8d81aca737eb93b20760839d5b813f9982d23b2a0ac2be2",
                "prev_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "i6Qg/zUDnJ2Md1CbAlJ6pkqut0kGRZAmx14PEYAGM3bQqMAFeAaIzPux7vNdakCkkX9j//UqK8zgr2Bp2dDFDA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "90e58b4db0917b5233c329a196c67e9edaced6ffd8adb0d881cd6675308bde2c",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "rules.published"
                },
                {
                  "at": "2026-01-01T00:00:20.000Z",
                  "block_height": 1,
                  "data": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "leaf_hash": "baa82a005c84b1d6dbd6be3e2ed81db4fb6875d6cde73b2174a4e2d551e06ce6",
                  "payload": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "payload_hash": "ead1ba009bdab9aefaf79c50594821cf518ecb9999b489c1413f0cfd1bc2a148",
                  "seq": 3,
                  "subject": "activity:2025-12-31",
                  "texts": {},
                  "type": "activity.daily"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "rightshold-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "-nvzwyptC1sZEKZ_c1nkA6E6r2xGbPE-DlC7Rd-LRJ0",
            "kid": "key_conformance_vectors",
            "alg": "EdDSA",
            "use": "sig",
            "status": "current"
          }
        ]
      }
    },
    {
      "id": "manifest-hash-wrong",
      "kind": "the manifest's body hash replaced; its signed statement still carries the true hash",
      "expect": "fail",
      "expect_failing_checks": [
        "manifest.body_sha256",
        "manifest.consistency"
      ],
      "snapshot": {
        "manifest": {
          "issuer": "rightshold-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
          "sha256": "3b289d51f876d831646beff95e69f1f30b64afb1fde62ce2920eca295bf69ae1",
          "signature": "AP+snK+4ozhTNhYMjNkhadZXzUNBGYppz8Sxy4+lK75eaRplSFtqSREwDuqsU0yqF6/nc03KCBJY41EOMe1kBw==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d\",\"head_height\":2,\"issuer\":\"rightshold-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"3e42f9847964ec2356f5f9db1877a4e64788c4c94e67949658d9d42ee607e9af\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "6l+wzFYAKNCe/LDNhVjkJlw+hOKVlCb/WYgrgHelMDSeBWTKShAR4XTWyjGj3041lDFp9sVnJ/Vfh0kyYeqoCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:00.000Z",
                  "block_height": 0,
                  "data": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "leaf_hash": "0cd71ce216899dc240d412650eb7429823e5f5ae408b9411c423b2eee97cfdb9",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "rightshold-block-v1: sha256(\"block:\" + canonical({v, height, prev_hash, merkle_root, first_seq, last_seq, entry_count, at, key_id}))",
                    "canonicalization": "JSON, object keys sorted, no whitespace, UTF-8",
                    "created_at": "2026-01-01T00:00:00.000Z",
                    "genesis_prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                    "hash_alg": "sha256",
                    "issuer": "rightshold-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "rightshold-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "Rightshold Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "rightshold-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "rightshold-payload-v1: sha256(canonical(payload))",
                    "signature_alg": "Ed25519",
                    "signature_scheme": "Ed25519 over canonical(header), base64",
                    "witnesses": "outside domains cosign block headers with Ed25519 keys published at https://<domain>/.well-known/rightshold-witness.pem"
                  },
                  "payload_hash": "1bda258816da1343d4b1ed42b6cd93570a4586514dc06cde487ef6a9eccb6531",
                  "seq": 1,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "6a67526397b27bcfe8d81aca737eb93b20760839d5b813f9982d23b2a0ac2be2",
                "prev_hash": "0f073f0d19f1a01360ffbb314dd951d0876e78a9be47246a5f518c6d4f1809a9",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "i6Qg/zUDnJ2Md1CbAlJ6pkqut0kGRZAmx14PEYAGM3bQqMAFeAaIzPux7vNdakCkkX9j//UqK8zgr2Bp2dDFDA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "90e58b4db0917b5233c329a196c67e9edaced6ffd8adb0d881cd6675308bde2c",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "rules.published"
                },
                {
                  "at": "2026-01-01T00:00:20.000Z",
                  "block_height": 1,
                  "data": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "leaf_hash": "baa82a005c84b1d6dbd6be3e2ed81db4fb6875d6cde73b2174a4e2d551e06ce6",
                  "payload": {
                    "day": "2025-12-31",
                    "journal_entries": 0,
                    "total": 3,
                    "v": 1
                  },
                  "payload_hash": "ead1ba009bdab9aefaf79c50594821cf518ecb9999b489c1413f0cfd1bc2a148",
                  "seq": 3,
                  "subject": "activity:2025-12-31",
                  "texts": {},
                  "type": "activity.daily"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:01:00.000Z",
                "block_hash": "df18a906de60667466aa57728a98c4cad77c24a0e33db81653120d3105d3e25d",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                "prev_hash": "fac6f7cb7e532275e0ea81f9799ee76399e4f2e6332da6e76a8e50a5a29d2247",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+nvzwyptC1sZEKZ/c1nkA6E6r2xGbPE+DlC7Rd+LRJ0=\n-----END PUBLIC KEY-----\n",
                "signature": "hpLpyAgepiyp6Ol/W/6+3jiTwKlGTBBQJQrKgWcqkeK8e7HUlHcBTj82unXVpp67TvoAcDmAlcz7n4nUFUE2DA==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "c367a0b7da97bd57689da5ea619abd056ba7ce0949edfc7f604ceb0653a40319",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "rightshold-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "rightshold-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "-nvzwyptC1sZEKZ_c1nkA6E6r2xGbPE-DlC7Rd-LRJ0",
            "kid": "key_conformance_vectors",
            "alg": "EdDSA",
            "use": "sig",
            "status": "current"
          }
        ]
      }
    }
  ]
}
