{
  "_meta": {
    "artifact": "signed_decision_test_vector",
    "source_module": "core/governance/cert_signing.py",
    "generated_at_utc": "2026-08-03T12:54:13Z",
    "git_commit": "8c630bbff55632916e3fba70d3c96b8d1cbb6e78",
    "python": "3.12.8",
    "generator": "scripts/generate_verification_artifacts.py",
    "reproduce": "python scripts/generate_verification_artifacts.py",
    "sha256": "876dcb323622275e53e600691a19facda4eaac439c4af045ed4c4c86e107b58f"
  },
  "description": "A canonicalized (RFC 8785 / JCS) decision payload, its SHA-256 content hash, an Ed25519 signature over that hash, and the public key. Anyone can verify offline with the public key alone \u2014 the eve-coreguard (Python) and eve-ai-governance (TypeScript) SDKs do exactly this. The 'independent_public_key_verification' field is checked here with the cryptography library, NOT with EVE's own verify().",
  "algorithm": "ed25519",
  "signing_key_note": "Demonstration signing key from the generator; the mechanism is identical to production. Fingerprint below.",
  "payload": {
    "request_id": "vec-0001",
    "tenant_id": "public-verification",
    "policy_set": "lending_v1",
    "policy_version": "lending_v1@1",
    "proposed_action": {
      "type": "loan_approval",
      "amount": 50000
    },
    "decision": "ALLOWED"
  },
  "jcs_canonical_utf8": "{\"decision\":\"ALLOWED\",\"policy_set\":\"lending_v1\",\"policy_version\":\"lending_v1@1\",\"proposed_action\":{\"amount\":50000,\"type\":\"loan_approval\"},\"request_id\":\"vec-0001\",\"tenant_id\":\"public-verification\"}",
  "content_sha256": "3d74e579b753f4a98edc0eff6bb730361e1ae57bc714e227c0543dd86c5d012a",
  "signature": "ed25519-efaeb096120097fae483a67ddc959e042b3bfc29e804412f75ad6eb4b7b789c30f0bac9f153645fc9dc3979c15a3cfbf648c07c0853d0360e306a6954a759904",
  "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAvdvzdY1df+Gq+wqSeq+npqJD61azhfFREFhgaRfR/8E=\n-----END PUBLIC KEY-----\n",
  "public_key_fingerprint": "sha256:374257d4810cb77a1a21c7bdb9ccec900ecd0c4de36620ed0c6e6af00a27d024",
  "verified_roundtrip": true,
  "independent_public_key_verification": true
}
