{
  "_comment": "FV-BADGE-1 pilot-status record. class/label are Tim's verbatim claim-tier vocabulary (methods.html). kernel_digest_at_authoring is the real sourceDigest() of this kernel at the time this record was authored -- the badge gate recomputes it live and drops the badge if it no longer matches. This is the ONLY authoritative source for this kernel's badge; do not duplicate the class/label anywhere else.",
  "tool_id": "art-376-score-payee-name-match",
  "class": "B",
  "label": "Property-tested over stated ranges",
  "kernel_digest_at_authoring": "sha256:de422d2d169f590fa61cfe8f37060bd7af2944def5730c83f77b88c6ed538871",
  "evidence_vector": {
    "_comment": "FV-EVIDENCE-VECTOR-1. Every field below names the script that re-derives it. No verification work was redone here.",
    "authoritative_vectors": {
      "count": 7,
      "source": "synthetic fixtures spanning exact-match, diacritics, entity-suffix-stripping, token-reorder, edit-distance drift, no-match, and out-of-scope transliteration behavior classes; house algorithm, no external regulatory worked-example set applies",
      "tolerance": "exact execution_hash match",
      "gate": "chaingraph/kernels/golden-parity.test.mjs"
    },
    "oracle_independence": "structural",
    "metamorphic_relations": [
      {
        "relation": "score(A,B) equals score(B,A) -- symmetric edit-distance scoring, independent of argument order",
        "cases": 3000,
        "divergences": 0,
        "gate": "chaingraph/kernels/__proptests__/art-376-score-payee-name-match.proptest.mjs"
      }
    ],
    "machine_proof": {
      "kind": "property+hand-proof",
      "toolchain_digest": "node runtime executing the in-repo property-test harness (3000 trials per property, plus forced boundary cases)"
    },
    "human_signature": {
      "status": "none",
      "note": "metadata only; not part of the verification claim"
    }
  }
}
