{
  "_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. class C is granted ONLY where a real Dafny artifact exists -- today this kernel alone (C1); blanket class-C Dafny stays frozen.",
  "tool_id": "art-215-reg-z-appendix-j-apr",
  "class": "C",
  "label": "Machine-checked proof (Dafny)",
  "kernel_digest_at_authoring": "sha256:23d06ce0530f333676cee2d8435ec0f6622170fc8040d471151cd64a01025225",
  "evidence_vector": {
    "_comment": "FV-EVIDENCE-VECTOR-1. Every field below names the script that re-derives it. No verification work was redone here -- these are the same golden fixtures and property tests already in the repo, wired into a structured record. The Dafny artifact and its 4-CFR-example differential match are recorded in methods.html but are not vendored into this repository, so no gate for that leg is cited below (SO #34: a claim with no re-runnable gate does not go in the vector).",
    "authoritative_vectors": {
      "count": 3,
      "source": "Reg Z Appendix J general actuarial equation (12 CFR 1026 Appendix J)",
      "tolerance": "apr_pct matched to 2 decimal places",
      "gate": "chaingraph/kernels/golden-parity.test.mjs"
    },
    "oracle_independence": "structural",
    "metamorphic_relations": [
      {
        "relation": "converged apr_pct matches an independently re-implemented reference bisection solver, not the kernel's own root-finder",
        "cases": 4000,
        "divergences": 0,
        "gate": "chaingraph/kernels/__proptests__/art-215-reg-z-appendix-j-apr.proptest.mjs"
      }
    ],
    "machine_proof": {
      "kind": "dafny",
      "note": "Dafny 4.11.0 / Z3 4.12.1-4.14.1, pinned by digest in the underlying Dafny artifact per methods.html. That artifact is not vendored into this repository, so no in-repo gate re-derives this leg; it is recorded as published, not as re-runnable from this repo."
    },
    "human_signature": {
      "status": "none",
      "note": "metadata only; not part of the verification claim"
    }
  }
}
