{
  "format": 1,
  "package": "jevdecision",
  "vectors": [
    {
      "path": "valid/answer-v2-canonical-numbers.json",
      "expect": "valid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 0
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "digests": [
        {
          "document": ".",
          "value": "/record_sha256",
          "covers": "",
          "exclude": [
            "record_sha256"
          ],
          "canonicalization": "rfc8785",
          "canonical_file": "valid/answer-v2-canonical-numbers.canonical"
        }
      ],
      "note": "refusal, 1e-7, 5e-324, integral floats written as integers, non-ASCII text and UTF-16 key ordering in the canonical form"
    },
    {
      "path": "valid/answer-v2-jev.json",
      "expect": "valid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 0
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "digests": [
        {
          "document": ".",
          "value": "/record_sha256",
          "covers": "",
          "exclude": [
            "record_sha256"
          ],
          "canonicalization": "rfc8785",
          "canonical_file": "valid/answer-v2-jev.canonical"
        }
      ],
      "note": "Jev-format response, noul/choice/score answers"
    },
    {
      "path": "valid/answer-v2-openai.json",
      "expect": "valid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 0
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "digests": [
        {
          "document": ".",
          "value": "/record_sha256",
          "covers": "",
          "exclude": [
            "record_sha256"
          ],
          "canonicalization": "rfc8785",
          "canonical_file": "valid/answer-v2-openai.canonical"
        }
      ],
      "note": "OpenAI Decisions list-format response; backend openai"
    },
    {
      "path": "valid/evaluation-live-failures",
      "expect": "valid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 0
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "digests": [
        {
          "document": "provenance.json",
          "value": "/outputs/EVALUATION.md/sha256",
          "canonicalization": "bytes",
          "covers_file": "EVALUATION.md"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/cases.jsonl/sha256",
          "canonicalization": "bytes",
          "covers_file": "cases.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/evaluation.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "evaluation.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/questions.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "questions.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/responses.jsonl/sha256",
          "canonicalization": "bytes",
          "covers_file": "responses.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/cases/sha256",
          "canonicalization": "bytes",
          "covers_file": "input-cases.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/questions/sha256",
          "canonicalization": "bytes",
          "covers_file": "questions.json"
        }
      ],
      "note": "recorded live run of 3 cases: one answered, one failed request (error text only in evaluation.json), one unparseable response"
    },
    {
      "path": "valid/evaluation-replay-gated",
      "expect": "valid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 0
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "digests": [
        {
          "document": "provenance.json",
          "value": "/outputs/EVALUATION.md/sha256",
          "canonicalization": "bytes",
          "covers_file": "EVALUATION.md"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/cases.jsonl/sha256",
          "canonicalization": "bytes",
          "covers_file": "cases.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/evaluation.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "evaluation.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/questions.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "questions.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/requirements.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "requirements.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/responses.jsonl/sha256",
          "canonicalization": "bytes",
          "covers_file": "responses.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/cases/sha256",
          "canonicalization": "bytes",
          "covers_file": "input-cases.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/questions/sha256",
          "canonicalization": "bytes",
          "covers_file": "questions.json"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/requirements/sha256",
          "canonicalization": "bytes",
          "covers_file": "requirements.json"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/responses/sha256",
          "canonicalization": "bytes",
          "covers_file": "input-responses.jsonl"
        }
      ],
      "note": "replay of the 12 example cases with requirements (PASS); inputs retained for the cases and responses hashes"
    },
    {
      "path": "valid/evaluation-replay-ungated",
      "expect": "valid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 0
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "digests": [
        {
          "document": "provenance.json",
          "value": "/outputs/EVALUATION.md/sha256",
          "canonicalization": "bytes",
          "covers_file": "EVALUATION.md"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/cases.jsonl/sha256",
          "canonicalization": "bytes",
          "covers_file": "cases.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/evaluation.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "evaluation.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/questions.json/sha256",
          "canonicalization": "bytes",
          "covers_file": "questions.json"
        },
        {
          "document": "provenance.json",
          "value": "/outputs/responses.jsonl/sha256",
          "canonicalization": "bytes",
          "covers_file": "responses.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/cases/sha256",
          "canonicalization": "bytes",
          "covers_file": "input-cases.jsonl"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/questions/sha256",
          "canonicalization": "bytes",
          "covers_file": "questions.json"
        },
        {
          "document": "provenance.json",
          "value": "/inputs/responses/sha256",
          "canonicalization": "bytes",
          "covers_file": "input-responses.jsonl"
        }
      ],
      "note": "replay without requirements (UNGATED); no requirements.json and inputs.requirements null"
    },
    {
      "path": "tampered/answer-v2-answer-edited-resealed.json",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "answers.refund.probability changed to 0.99 and record_sha256 recomputed; the embedded response no longer reproduces the answer"
    },
    {
      "path": "tampered/answer-v2-answer-edited.json",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "answers.refund.probability changed from 0.08 to 0.99; record_sha256 left"
    },
    {
      "path": "tampered/answer-v2-id-edited-resealed.json",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "id changed to forged-id and record_sha256 recomputed; the response id differs"
    },
    {
      "path": "tampered/answer-v2-question-edited.json",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "questions.refund.instructions changed; record_sha256 left"
    },
    {
      "path": "tampered/answer-v2-response-edited-resealed.json",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "response.answers.refund.noul changed to 0.8 and record_sha256 recomputed; the recorded answer no longer follows from the response"
    },
    {
      "path": "tampered/answer-v2-response-edited.json",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "response.answers.refund.noul changed from 0.08 to 0.8; record_sha256 left"
    },
    {
      "path": "tampered/evaluation-file-missing",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "note": "cases.jsonl removed although provenance.json lists it"
    },
    {
      "path": "tampered/evaluation-markdown-edited",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "note": "a newline appended to EVALUATION.md; provenance.json left"
    },
    {
      "path": "tampered/evaluation-report-resealed",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "note": "evaluation.json status changed from PASS to FAIL and its provenance hash recomputed; re-scoring disagrees"
    },
    {
      "path": "tampered/evaluation-requirements-edited-resealed",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "note": "retained requirements.json loosened (max_error_rate 0.5) and the error_rate limit, evaluation.json and provenance hashes rewritten consistently; the recorded check results no longer follow from the responses"
    },
    {
      "path": "tampered/evaluation-responses-edited",
      "expect": "tampered",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 1
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "note": "one byte of responses.jsonl flipped; provenance.json left"
    },
    {
      "path": "invalid/answer-v1.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v1.json",
          "schema_valid": true
        }
      ],
      "note": "schema 1 answer record (0.1.0 shape): readable, but it embeds no questions or response, so it is unverifiable"
    },
    {
      "path": "invalid/answer-v2-duplicate-key.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "note": "a second id member appended to the top-level object (duplicate object keys)"
    },
    {
      "path": "invalid/answer-v2-missing-questions.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": false
        }
      ],
      "note": "questions member removed"
    },
    {
      "path": "invalid/answer-v2-non-finite.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "note": "response.answers.refund.noul replaced by the non-JSON literal NaN"
    },
    {
      "path": "invalid/answer-v2-oversized-integer.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": true
        }
      ],
      "note": "response.counter = 2^60 inserted: outside the I-JSON safe range, so the record cannot be canonicalized; record_sha256 left"
    },
    {
      "path": "invalid/answer-v2-unnormalized-questions.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": false
        }
      ],
      "note": "questions.refund.type changed to the alias predicate (not the normalized question map form)"
    },
    {
      "path": "invalid/answer-v2-unsupported-schema.json",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": ".",
          "schema": "jevdecision/schema/answer.v2.json",
          "schema_valid": false
        }
      ],
      "note": "schema_version changed to 3"
    },
    {
      "path": "invalid/evaluation-cases-unparseable",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": "evaluation.json",
          "schema": "jevdecision/schema/evaluation.v2.json",
          "schema_valid": true
        },
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": true
        }
      ],
      "note": "cases.jsonl replaced by an unparseable line and its provenance hash recomputed"
    },
    {
      "path": "invalid/evaluation-provenance-duplicate-key",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 2
      },
      "note": "a second response_mode member appended to provenance.json (duplicate object keys)"
    },
    {
      "path": "invalid/evaluation-provenance-missing-output",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": false
        }
      ],
      "note": "the cases.jsonl entry removed from provenance.json outputs"
    },
    {
      "path": "invalid/evaluation-provenance-schema-1",
      "expect": "invalid",
      "verify": {
        "command": [
          "jev-decision-verify",
          "--evaluation",
          "{path}"
        ],
        "exit_code": 2
      },
      "documents": [
        {
          "path": "provenance.json",
          "schema": "jevdecision/schema/provenance.v2.json",
          "schema_valid": false
        }
      ],
      "note": "provenance.json schema_version changed to 1 (unsupported)"
    }
  ]
}
