{
  "tool_id": "art-652-verify-receipt",
  "note": "golden_hash pinned (see vectors).",
  "vectors": [
    {
      "name": "genesis-receipt-verifies",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0001",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:00:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "1h6aJpKXmQZVBwJIrKK9Vm2L--OulcUwORtKcimojjInu8hGo-AMQcQIoSUf9Jk6qB18jldkZ2HsQw612VogBA"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0001",
        "valid": true,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "SIGNATURE_VALID",
            "ok": true,
            "detail": "signatures[0] kid=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH"
          }
        ],
        "failed_codes": []
      },
      "golden_hash": "1d0923f83a84f876d8f481fcee7f94560eda58bdf841fa65bdca6f68f30295c4"
    },
    {
      "name": "chained-receipt-verifies-with-previous",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0002",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:05:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "previousReceiptHash": "sha256:a0aea15ac6ca1ea89f4247f8e5220d17c3a31a6cf67ffade4e0bb3ea607e422c",
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "pZKQ9ESV6chNCm1uylQqP3k1KuI3vfzaySORQpufx8ReVBxD5TQOiE_o6s3ekeb43kwpaFudBTsEsb5puQTrBQ"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        },
        "previous_receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0001",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:00:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "1h6aJpKXmQZVBwJIrKK9Vm2L--OulcUwORtKcimojjInu8hGo-AMQcQIoSUf9Jk6qB18jldkZ2HsQw612VogBA"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0002",
        "valid": true,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "SIGNATURE_VALID",
            "ok": true,
            "detail": "signatures[0] kid=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH"
          },
          {
            "code": "PREV_LINK_OK",
            "ok": true,
            "detail": "sha256:a0aea15ac6ca1ea89f4247f8e5220d17c3a31a6cf67ffade4e0bb3ea607e422c"
          }
        ],
        "failed_codes": []
      },
      "golden_hash": "9ecd41542365f1e53f71dcd9e8d9e93a01f0424da6d8502573f11a8be6be024f"
    },
    {
      "name": "chained-receipt-unverified-link-without-previous",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0002",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:05:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "previousReceiptHash": "sha256:a0aea15ac6ca1ea89f4247f8e5220d17c3a31a6cf67ffade4e0bb3ea607e422c",
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "pZKQ9ESV6chNCm1uylQqP3k1KuI3vfzaySORQpufx8ReVBxD5TQOiE_o6s3ekeb43kwpaFudBTsEsb5puQTrBQ"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0002",
        "valid": true,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "SIGNATURE_VALID",
            "ok": true,
            "detail": "signatures[0] kid=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH"
          },
          {
            "code": "PREV_LINK_UNVERIFIED",
            "ok": null,
            "detail": "previousReceiptHash present but no previous_receipt was supplied to check it against"
          }
        ],
        "failed_codes": []
      },
      "golden_hash": "ee84f423c2dccf9c8de79f6306b847436d7132994bedccff58d1e38592242b19"
    },
    {
      "name": "tampered-payload-field-fails-signature",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0001",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:00:00Z",
          "result_status": "error",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "1h6aJpKXmQZVBwJIrKK9Vm2L--OulcUwORtKcimojjInu8hGo-AMQcQIoSUf9Jk6qB18jldkZ2HsQw612VogBA"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0001",
        "valid": false,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "SIGNATURE_INVALID",
            "ok": false,
            "detail": "signatures[0] kid=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH digest=sha256:19095c926a3b2e79f8fb6fdfcabb76139e5b7b710676a1afd1e5500fdfe3439c"
          }
        ],
        "failed_codes": [
          "SIGNATURE_INVALID"
        ]
      },
      "golden_hash": "7e3b60a5d5346b7c09dafba051227b8c15fb7ce710be433971492d4028e55b66"
    },
    {
      "name": "tampered-signature-bytes-fails",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0001",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:00:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "1h6aJpKXmQZVBwJIrKK9Vm2L--OulcUwORtKcimojjInu8hGo-AMQcQIoSUf9Jk6qB18jldkZ2HsQw612VogAA"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0001",
        "valid": false,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "SIGNATURE_INVALID",
            "ok": false,
            "detail": "signatures[0] kid=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH digest=sha256:02a6a801e2d8c45eff727bbcb196ef043cdbf0a311ee62f05f1553267afcdbca"
          }
        ],
        "failed_codes": [
          "SIGNATURE_INVALID"
        ]
      },
      "golden_hash": "814320f88f56b2d199830a740ecd560de0a54540c798f977cfa2733ad8938556"
    },
    {
      "name": "tampered-kid-not-resolvable",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0001",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:00:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
              "value": "1h6aJpKXmQZVBwJIrKK9Vm2L--OulcUwORtKcimojjInu8hGo-AMQcQIoSUf9Jk6qB18jldkZ2HsQw612VogBA"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0001",
        "valid": false,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "KID_NOT_RESOLVABLE",
            "ok": false,
            "detail": "signatures[0] kid=did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK issuer_id=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH"
          }
        ],
        "failed_codes": [
          "KID_NOT_RESOLVABLE"
        ]
      },
      "golden_hash": "3fa202a166c3e4724ec1b52027df81eb9a6e32d9bced8f50a519e40d5c27461b"
    },
    {
      "name": "tampered-prev-link-mismatch",
      "policy_parameters": {
        "receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0002",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:05:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "previousReceiptHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "pZKQ9ESV6chNCm1uylQqP3k1KuI3vfzaySORQpufx8ReVBxD5TQOiE_o6s3ekeb43kwpaFudBTsEsb5puQTrBQ"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        },
        "previous_receipt": {
          "schema": "ainumbers.evidence.v0.1",
          "receipt_id": "r-0001",
          "event_type": "policy_decision",
          "source_adapter": "native-tool",
          "issuer_id": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
          "issued_at": "2026-08-20T14:00:00Z",
          "result_status": "success",
          "input_hash": "sha256:e979b29ee8bcaf3f544784e34d467b70c683ab5d09e55c25e3b435245a77ccff",
          "policy_digest": "sha256:ea9ede5814bedf41150053db439d54a24235dd62d18510d5288f6855d26da5b3",
          "execution_hash": "sha256:fa15b56aeacde51aee48abb5342b48d13184689698d40993eab079ac95b8e46e",
          "output_hash": "sha256:b5e78a89b3d010bb4265a4e77a27bf70b2ec13d52200471f35b896f989d0f1cd",
          "links": [],
          "extensions": {},
          "signatures": [
            {
              "alg": "EdDSA",
              "kid": "did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH",
              "value": "1h6aJpKXmQZVBwJIrKK9Vm2L--OulcUwORtKcimojjInu8hGo-AMQcQIoSUf9Jk6qB18jldkZ2HsQw612VogBA"
            }
          ],
          "unprotected": {
            "proofs": {},
            "countersignatures": []
          }
        }
      },
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": "r-0002",
        "valid": false,
        "checks": [
          {
            "code": "SCHEMA_OK",
            "ok": true,
            "detail": "ainumbers.evidence.v0.1"
          },
          {
            "code": "HASH_FIELD_FORMAT_OK",
            "ok": true,
            "detail": "input_hash,policy_digest,execution_hash,output_hash"
          },
          {
            "code": "SIGNATURE_INVALID",
            "ok": false,
            "detail": "signatures[0] kid=did:key:z6MkwQ66vScU6Hepc1oKGpu5TrMaCDM1oQQsaGSbEzB52pZH digest=sha256:0e37a25c108c089564a1a08e0972b388a4b7e1cea8f534751c1ae187ba385f1f"
          },
          {
            "code": "PREV_LINK_MISMATCH",
            "ok": false,
            "detail": "expected sha256:a0aea15ac6ca1ea89f4247f8e5220d17c3a31a6cf67ffade4e0bb3ea607e422c, receipt claims sha256:0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "failed_codes": [
          "SIGNATURE_INVALID",
          "PREV_LINK_MISMATCH"
        ]
      },
      "golden_hash": "69a653fa3658788dedb974fccf5514173cbde603e61bcf5057b87d584137868f"
    },
    {
      "name": "missing-receipt",
      "policy_parameters": {},
      "output_payload": {
        "schema_checked": "ainumbers.evidence.v0.1",
        "receipt_id": null,
        "valid": false,
        "checks": [
          {
            "code": "RECEIPT_MISSING",
            "ok": false,
            "detail": "no receipt object supplied"
          }
        ],
        "failed_codes": [
          "RECEIPT_MISSING"
        ]
      },
      "golden_hash": "9e87888b5b154e7e32e4fe90f4274cfe24397c2fec12afbd0c8de64162f659b9"
    }
  ]
}
