{
  "vectors": "a2ally-ledger-verifier-conformance",
  "version": "1",
  "about": "Conformance vectors for independent implementations of the a2ally 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": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
      "block_0_merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
      "entry_1_payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
      "entry_1_leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802"
    },
    "snapshot": {
      "manifest": {
        "issuer": "a2ally-conformance",
        "key_id": "key_conformance_vectors",
        "day": "2026-01-02",
        "head_height": 2,
        "head_hash": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
        "sha256": "513788f9cdea6c5a7b1e22561dd270d88b43a4baf66873f50b5a16a0cbdb8295",
        "signature": "+V5jgjwvrlRjyheeM4UxXiD3K+z19+Uiqducld9rRT/DroT3pblTcyoo/TZOuUAADQw5gUeU7ViQI9xJ0+uDCQ==",
        "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d\",\"head_height\":2,\"issuer\":\"a2ally-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"513788f9cdea6c5a7b1e22561dd270d88b43a4baf66873f50b5a16a0cbdb8295\"}",
        "cutoff": "2026-01-02T00:00:00.000Z",
        "blocks": 3,
        "truncated": false
      },
      "body": {
        "blocks": [
          {
            "block": {
              "at": "2026-01-01T00:00:00.000Z",
              "block_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
              "entry_count": 1,
              "first_seq": 1,
              "height": 0,
              "key_id": "key_conformance_vectors",
              "last_seq": 1,
              "merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
              "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
              "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
              "signature": "h1gktpRq4Fiy9+yEBGLAs1yOkDjjWKnLsQm4elMA5mAIDhUFjkHDIS14ChTsw2v0ajuNY55STkGFd49mEWAKCA==",
              "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": "a2ally-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": "a2ally-conformance",
                  "key_id": "key_conformance_vectors",
                  "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                  "ledger": "a2ally Ledger — verifier conformance reference chain",
                  "ledger_version": 1,
                  "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                  "payload_scheme": "a2ally-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/a2ally-witness.pem"
                },
                "leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                "payload": {
                  "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                  "block_interval_seconds": 30,
                  "block_max_entries": 256,
                  "block_scheme": "a2ally-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": "a2ally-conformance",
                  "key_id": "key_conformance_vectors",
                  "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                  "ledger": "a2ally Ledger — verifier conformance reference chain",
                  "ledger_version": 1,
                  "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                  "payload_scheme": "a2ally-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/a2ally-witness.pem"
                },
                "payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
                "seq": 1,
                "subject": "a2ally-conformance",
                "texts": {},
                "type": "ledger.genesis"
              }
            ]
          },
          {
            "block": {
              "at": "2026-01-01T00:00:30.000Z",
              "block_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
              "entry_count": 2,
              "first_seq": 2,
              "height": 1,
              "key_id": "key_conformance_vectors",
              "last_seq": 3,
              "merkle_root": "3cd0b2fc536f6452a39fceb8114c9581f5b398abc8d30ea564368f14ef821edd",
              "prev_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
              "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
              "signature": "TK3PORDr4lsrVCB9+tTwZXp0FzYJafeI7B5/BT3D8KqktO+UhGZsPr7NQ7rFzjcQS+AgE3lyrb7IN4G6/G6SCw==",
              "v": 1
            },
            "entries": [
              {
                "at": "2026-01-01T00:00:10.000Z",
                "block_height": 1,
                "data": {
                  "changed": [
                    "verifier_conformance"
                  ],
                  "rules": 1,
                  "v": 1
                },
                "leaf_hash": "f127eaace5bcffee12edbacce86a5fc899fffa2bb949d2b5e3f7b5c26066a63e",
                "payload": {
                  "changed": [
                    "verifier_conformance"
                  ],
                  "rules": 1,
                  "v": 1
                },
                "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                "seq": 2,
                "subject": "a2ally-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": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
              "entry_count": 1,
              "first_seq": 4,
              "height": 2,
              "key_id": "key_conformance_vectors",
              "last_seq": 4,
              "merkle_root": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
              "prev_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
              "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
              "signature": "sV1HLc3BeaQaHmqZiRDGny89l8wFwBjms7aXE5m6nDTMqRwVYjeaCbE1ntHh22C+EjepjTPGTNukZ2wih6JWCw==",
              "v": 1
            },
            "entries": [
              {
                "at": "2026-01-01T00:00:45.000Z",
                "block_height": 2,
                "data": {
                  "receipt": "conformance-receipt-1",
                  "v": 1
                },
                "leaf_hash": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                "payload": {
                  "receipt": "conformance-receipt-1",
                  "v": 1
                },
                "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                "seq": 4,
                "subject": "a2ally-conformance",
                "texts": {},
                "type": "receipt.issued"
              }
            ]
          }
        ],
        "cutoff": "2026-01-02T00:00:00.000Z",
        "day": "2026-01-02",
        "issuer": "a2ally-conformance"
      }
    },
    "jwks": {
      "keys": [
        {
          "kty": "OKP",
          "crv": "Ed25519",
          "x": "Mr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y",
          "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": "a2ally-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
          "sha256": "1b6c4714cb3753da94d061254d7a54392517a692116ab6624ca9fe6a56fcc4d9",
          "signature": "deehpL8ApewJI1p03BO5IJXHyoB/7DZKdbNUP9x07iR6Lcl6zFP9XiqWfFiAk5ENH5WEdanc0xticc1egMIoCA==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d\",\"head_height\":2,\"issuer\":\"a2ally-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"1b6c4714cb3753da94d061254d7a54392517a692116ab6624ca9fe6a56fcc4d9\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "h1gktpRq4Fiy9+yEBGLAs1yOkDjjWKnLsQm4elMA5mAIDhUFjkHDIS14ChTsw2v0ajuNY55STkGFd49mEWAKCA==",
                "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": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
                  "seq": 1,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "3cd0b2fc536f6452a39fceb8114c9581f5b398abc8d30ea564368f14ef821edd",
                "prev_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "TK3PORDr4lsrVCB9+tTwZXp0FzYJafeI7B5/BT3D8KqktO+UhGZsPr7NQ7rFzjcQS+AgE3lyrb7IN4G6/G6SCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "f127eaace5bcffee12edbacce86a5fc899fffa2bb949d2b5e3f7b5c26066a63e",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "a2ally-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": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                "prev_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "sV1HLc3BeaQaHmqZiRDGny89l8wFwBjms7aXE5m6nDTMqRwVYjeaCbE1ntHh22C+EjepjTPGTNukZ2wih6JWCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "a2ally-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "Mr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y",
            "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": "a2ally-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "d7c51065b132307a54d2c810e57c1167004df8b98b0398526746d5eca12ee640",
          "sha256": "0dc4e0dc14f411e2e4951c399b0c7361af933e11d99d7908e50c7d8f047cdd29",
          "signature": "kYaUxmojKlGO+VB4ZktOqYWdDPtDY5mbQ4issmGVygH7LI7Ei8pCrAlAF5DIIcKJ3xRksPnFv9nRYT/qF/oBAg==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"d7c51065b132307a54d2c810e57c1167004df8b98b0398526746d5eca12ee640\",\"head_height\":2,\"issuer\":\"a2ally-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"0dc4e0dc14f411e2e4951c399b0c7361af933e11d99d7908e50c7d8f047cdd29\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "h1gktpRq4Fiy9+yEBGLAs1yOkDjjWKnLsQm4elMA5mAIDhUFjkHDIS14ChTsw2v0ajuNY55STkGFd49mEWAKCA==",
                "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": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
                  "seq": 1,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "d374d0abac8ddbe4f55d1e83b1829ea131747087c067f485b1b56419406e6201",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "8d0434e8fb7a472a42ea18689d13d8217103339435ccc0434dbad5f4634ff94a",
                "prev_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "uHKLvbg1oh4PWBakbD/5ri5aWdJTAExBA0oZjVzddc9yY9pFX4M2MBCmC7pZ32ODE8jplIF8OrCaQTQeFgTOBg==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "f127eaace5bcffee12edbacce86a5fc899fffa2bb949d2b5e3f7b5c26066a63e",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "a2ally-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": "d7c51065b132307a54d2c810e57c1167004df8b98b0398526746d5eca12ee640",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                "prev_hash": "d374d0abac8ddbe4f55d1e83b1829ea131747087c067f485b1b56419406e6201",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "bb4ucwhtQ5DL/dcPsfh8iianAz28IeUUiCrHqqcnvXb4XXogAOXgi1fL2euluE3my9Q560PVfDFn0n9mJwHZDQ==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "a2ally-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "Mr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y",
            "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": "a2ally-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
          "sha256": "026f00de3a5e097ed3f3c283ff69c55ebdb683d4f44639dbfce0141900e56112",
          "signature": "O7/+WORpzcLg8BaGMZbqstQaIe0vrIeetbS82cWNY44S8ElsZYCHGNVb7r5D/76+TAxsc8Q+BZhH+7AA3M8+DQ==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d\",\"head_height\":2,\"issuer\":\"a2ally-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"026f00de3a5e097ed3f3c283ff69c55ebdb683d4f44639dbfce0141900e56112\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "h1gktpRq4Fiy9+yEBGLAs1yOkDjjWKnLsQm4elMA5mAIDhUFjkHDIS14ChTsw2v0ajuNY55STkGFd49mEWAKCA==",
                "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": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
                  "seq": 1,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "3cd0b2fc536f6452a39fceb8114c9581f5b398abc8d30ea564368f14ef821edd",
                "prev_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "TK3PORDr4lsrVCB9+tTwZXp0FzYJafeI7B5/BT3D8KqktO+UhGZsPr7NQ7rFzjcQS+AgE3lyrb7IN4G6/G6SCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "f127eaace5bcffee12edbacce86a5fc899fffa2bb949d2b5e3f7b5c26066a63e",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "a2ally-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": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                "prev_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "sF1HLc3BeaQaHmqZiRDGny89l8wFwBjms7aXE5m6nDTMqRwVYjeaCbE1ntHh22C+EjepjTPGTNukZ2wih6JWCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "a2ally-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "Mr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y",
            "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": "a2ally-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
          "sha256": "513788f9cdea6c5a7b1e22561dd270d88b43a4baf66873f50b5a16a0cbdb8295",
          "signature": "+V5jgjwvrlRjyheeM4UxXiD3K+z19+Uiqducld9rRT/DroT3pblTcyoo/TZOuUAADQw5gUeU7ViQI9xJ0+uDCQ==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d\",\"head_height\":2,\"issuer\":\"a2ally-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"513788f9cdea6c5a7b1e22561dd270d88b43a4baf66873f50b5a16a0cbdb8295\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "h1gktpRq4Fiy9+yEBGLAs1yOkDjjWKnLsQm4elMA5mAIDhUFjkHDIS14ChTsw2v0ajuNY55STkGFd49mEWAKCA==",
                "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": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
                  "seq": 1,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "3cd0b2fc536f6452a39fceb8114c9581f5b398abc8d30ea564368f14ef821edd",
                "prev_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "TK3PORDr4lsrVCB9+tTwZXp0FzYJafeI7B5/BT3D8KqktO+UhGZsPr7NQ7rFzjcQS+AgE3lyrb7IN4G6/G6SCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "f127eaace5bcffee12edbacce86a5fc899fffa2bb949d2b5e3f7b5c26066a63e",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "a2ally-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": "a2ally-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "Mr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y",
            "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": "a2ally-conformance",
          "key_id": "key_conformance_vectors",
          "day": "2026-01-02",
          "head_height": 2,
          "head_hash": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
          "sha256": "3b289d51f876d831646beff95e69f1f30b64afb1fde62ce2920eca295bf69ae1",
          "signature": "+V5jgjwvrlRjyheeM4UxXiD3K+z19+Uiqducld9rRT/DroT3pblTcyoo/TZOuUAADQw5gUeU7ViQI9xJ0+uDCQ==",
          "signed_bytes": "{\"day\":\"2026-01-02\",\"head_hash\":\"fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d\",\"head_height\":2,\"issuer\":\"a2ally-conformance\",\"key_id\":\"key_conformance_vectors\",\"sha256\":\"513788f9cdea6c5a7b1e22561dd270d88b43a4baf66873f50b5a16a0cbdb8295\"}",
          "cutoff": "2026-01-02T00:00:00.000Z",
          "blocks": 3,
          "truncated": false
        },
        "body": {
          "blocks": [
            {
              "block": {
                "at": "2026-01-01T00:00:00.000Z",
                "block_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "entry_count": 1,
                "first_seq": 1,
                "height": 0,
                "key_id": "key_conformance_vectors",
                "last_seq": 1,
                "merkle_root": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "h1gktpRq4Fiy9+yEBGLAs1yOkDjjWKnLsQm4elMA5mAIDhUFjkHDIS14ChTsw2v0ajuNY55STkGFd49mEWAKCA==",
                "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": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "leaf_hash": "ead737c2c4e8d1c8aae2fc2e04a637aec9682678b7aef6f3cdd2ab09d6489802",
                  "payload": {
                    "anchoring": "every block hash is submitted to OpenTimestamps calendars for timestamping in Bitcoin",
                    "block_interval_seconds": 30,
                    "block_max_entries": 256,
                    "block_scheme": "a2ally-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": "a2ally-conformance",
                    "key_id": "key_conformance_vectors",
                    "leaf_scheme": "a2ally-leaf-v1: sha256(\"leaf:\" + canonical({seq, at, type, subject, payload_hash}))",
                    "ledger": "a2ally Ledger — verifier conformance reference chain",
                    "ledger_version": 1,
                    "node_scheme": "a2ally-node-v1: sha256(\"node:\" + left + right); an odd node is carried up unchanged",
                    "payload_scheme": "a2ally-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/a2ally-witness.pem"
                  },
                  "payload_hash": "079ab1e49c302260aff30b108438fc0f814077c0bc7b43093a77ee39abc5e891",
                  "seq": 1,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "ledger.genesis"
                }
              ]
            },
            {
              "block": {
                "at": "2026-01-01T00:00:30.000Z",
                "block_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "entry_count": 2,
                "first_seq": 2,
                "height": 1,
                "key_id": "key_conformance_vectors",
                "last_seq": 3,
                "merkle_root": "3cd0b2fc536f6452a39fceb8114c9581f5b398abc8d30ea564368f14ef821edd",
                "prev_hash": "7bb9e3dcb790c1176e3395adaf00ec61931413da573af192abcc750cba2b0673",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "TK3PORDr4lsrVCB9+tTwZXp0FzYJafeI7B5/BT3D8KqktO+UhGZsPr7NQ7rFzjcQS+AgE3lyrb7IN4G6/G6SCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:10.000Z",
                  "block_height": 1,
                  "data": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "leaf_hash": "f127eaace5bcffee12edbacce86a5fc899fffa2bb949d2b5e3f7b5c26066a63e",
                  "payload": {
                    "changed": [
                      "verifier_conformance"
                    ],
                    "rules": 1,
                    "v": 1
                  },
                  "payload_hash": "7c2ce8c44994c899cb5ce0b80ab5155f786be77d3ea0e6fa842760906e4d20cd",
                  "seq": 2,
                  "subject": "a2ally-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": "fdf7126ba0faaeb24bc3cfe78d961776b5e95238d16a60d5eda6c5b852b8df3d",
                "entry_count": 1,
                "first_seq": 4,
                "height": 2,
                "key_id": "key_conformance_vectors",
                "last_seq": 4,
                "merkle_root": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                "prev_hash": "0f87d82ef4202cab12a291430dc597e43a509e2d08d0d9564148dd89f6247c60",
                "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y=\n-----END PUBLIC KEY-----\n",
                "signature": "sV1HLc3BeaQaHmqZiRDGny89l8wFwBjms7aXE5m6nDTMqRwVYjeaCbE1ntHh22C+EjepjTPGTNukZ2wih6JWCw==",
                "v": 1
              },
              "entries": [
                {
                  "at": "2026-01-01T00:00:45.000Z",
                  "block_height": 2,
                  "data": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "leaf_hash": "8de3be9cea13aba2aa90036d0807ae75025d4eac4f150bbd376370d2421ce27e",
                  "payload": {
                    "receipt": "conformance-receipt-1",
                    "v": 1
                  },
                  "payload_hash": "ed578438e87114833c930f290c4bb6d41abd2d1fd648cc2d9bc0cc715c19ed90",
                  "seq": 4,
                  "subject": "a2ally-conformance",
                  "texts": {},
                  "type": "receipt.issued"
                }
              ]
            }
          ],
          "cutoff": "2026-01-02T00:00:00.000Z",
          "day": "2026-01-02",
          "issuer": "a2ally-conformance"
        }
      },
      "jwks": {
        "keys": [
          {
            "kty": "OKP",
            "crv": "Ed25519",
            "x": "Mr7OMgdcnjjBi626MzWPlouDhN2bRrtU5B1lSvIa35Y",
            "kid": "key_conformance_vectors",
            "alg": "EdDSA",
            "use": "sig",
            "status": "current"
          }
        ]
      }
    }
  ]
}
