{
  "tool_id": "art-200-license-election-verifier",
  "note": "golden_hash filled by `node golden-parity.test.mjs --update`.",
  "vectors": [
    {
      "name": "empty_input",
      "policy_parameters": {},
      "output_payload": {
        "verdict": "malformed",
        "binding_ok": false,
        "checks": [
          {
            "check": "certificate_structure_and_version",
            "pass": false,
            "detail": "missing or malformed certificate structure (expected certificate_version 1.0)"
          }
        ]
      },
      "golden_hash": "97f2ca6c7c74ce2ba4c84b417b50827f4bc5a3f7e8ba3373c8be19d4cfc0948a"
    },
    {
      "name": "valid_cc_certificate",
      "policy_parameters": {
        "certificate": {
          "certificate_version": "1.0",
          "asset_ref": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
          "licensor_did": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
          "license_election": {
            "family": "cc",
            "id": "CC-BY-4.0",
            "params": {}
          },
          "terms_hash": "0d311512d1c99e9924f8d1b9f45673f8382bfdab46ed11e49b41b35c9bf50588",
          "certification_note": "This certificate records the licensor's stated election of a published license for the named asset. It is not a legal opinion, not a legal guarantee, and does not constitute on-chain registration. Consult the canonical license texts and a licensed attorney before relying on it.",
          "disclaimer": "Not legal advice. Selection only."
        }
      },
      "output_payload": {
        "verdict": "valid",
        "binding_ok": true,
        "recomputed_terms_hash": "0d311512d1c99e9924f8d1b9f45673f8382bfdab46ed11e49b41b35c9bf50588",
        "checks": [
          {
            "check": "certificate_structure_and_version",
            "pass": true,
            "detail": "certificate_version 1.0 with asset_ref/licensor_did/license_election/terms_hash present"
          },
          {
            "check": "terms_hash_matches",
            "pass": true,
            "detail": "recomputed terms_hash equals stored terms_hash"
          },
          {
            "check": "asset_ref_present",
            "pass": true,
            "detail": "asset_ref: ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
          },
          {
            "check": "licensor_did_present",
            "pass": true,
            "detail": "licensor_did: did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
          },
          {
            "check": "license_election_has_family_and_id",
            "pass": true,
            "detail": "family: cc, id: CC-BY-4.0"
          }
        ]
      },
      "golden_hash": "325a8d51ce208c869214a6eac7961437af144a7ad11501b7b0cdff951e703e0a"
    },
    {
      "name": "tampered_asset_ref",
      "policy_parameters": {
        "certificate": {
          "certificate_version": "1.0",
          "asset_ref": "ipfs://tampered",
          "licensor_did": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
          "license_election": {
            "family": "cc",
            "id": "CC-BY-4.0",
            "params": {}
          },
          "terms_hash": "0d311512d1c99e9924f8d1b9f45673f8382bfdab46ed11e49b41b35c9bf50588",
          "certification_note": "This certificate records the licensor's stated election of a published license for the named asset. It is not a legal opinion, not a legal guarantee, and does not constitute on-chain registration. Consult the canonical license texts and a licensed attorney before relying on it.",
          "disclaimer": "Not legal advice. Selection only."
        }
      },
      "output_payload": {
        "verdict": "binding_mismatch",
        "binding_ok": false,
        "recomputed_terms_hash": "0256527da2cf400a9571e58cd17034071c8f87de982662d3bbe9e92f369242dd",
        "checks": [
          {
            "check": "certificate_structure_and_version",
            "pass": true,
            "detail": "certificate_version 1.0 with asset_ref/licensor_did/license_election/terms_hash present"
          },
          {
            "check": "terms_hash_matches",
            "pass": false,
            "detail": "recomputed 0256527da2cf400a9571e58cd17034071c8f87de982662d3bbe9e92f369242dd != stored 0d311512d1c99e9924f8d1b9f45673f8382bfdab46ed11e49b41b35c9bf50588"
          },
          {
            "check": "asset_ref_present",
            "pass": true,
            "detail": "asset_ref: ipfs://tampered"
          },
          {
            "check": "licensor_did_present",
            "pass": true,
            "detail": "licensor_did: did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
          },
          {
            "check": "license_election_has_family_and_id",
            "pass": true,
            "detail": "family: cc, id: CC-BY-4.0"
          }
        ]
      },
      "golden_hash": "2567699fbcda080da8cd9f08e4fd350f535c60d76f403a406edaddb7d379ecc3"
    },
    {
      "name": "malformed_certificate",
      "policy_parameters": {
        "certificate": "not-valid-json"
      },
      "output_payload": {
        "verdict": "malformed",
        "binding_ok": false,
        "checks": [
          {
            "check": "certificate_structure_and_version",
            "pass": false,
            "detail": "missing or malformed certificate structure (expected certificate_version 1.0)"
          }
        ]
      },
      "golden_hash": "785bd02c73bcc35a3786d1c6c5a092badb7ea7fa1de12a4a7fcf54df7818957a"
    }
  ]
}
