{
  "tool_id": "art-307-claim-dispute-bundle-builder",
  "note": "golden_hash empty until first `node golden-parity.test.mjs --update`.",
  "vectors": [
    {
      "name": "dispute-with-kpi-breach",
      "description": "Measured metric below threshold; breach recorded.",
      "policy_parameters": {
        "execution_claim": {
          "execution_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "tool_id": "art-251-compute-parametric-trigger-payout",
          "receipts": [
            {
              "receipt_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
            }
          ]
        },
        "challenge": {
          "digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
        },
        "warranty_kpi_breach": {
          "kpi": "uptime_pct",
          "threshold": 99.5,
          "direction": "below",
          "receipts": [
            {
              "receipt_hash": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
              "measured_metric": 97.2
            }
          ]
        }
      },
      "output_payload": {
        "claim_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "challenge_digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
        "replay_instructions": "Replay tool_id art-251-compute-parametric-trigger-payout with the recorded policy_parameters and confirm execution_hash reproduces sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; cross-check 1 bound receipt(s).",
        "receipts": [
          {
            "receipt_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
          }
        ],
        "kpi_breach": {
          "kpi": "uptime_pct",
          "threshold": 99.5,
          "measured": 97.2,
          "breached": true
        },
        "bundle_claim_strength": "receipt-backed",
        "insufficient_evidence": false
      },
      "golden_hash": "bc46b7fc2ab0093a8d3ef82cdfe1ed1edae59581bdae94b0184f9db9fc0c6c8b"
    },
    {
      "name": "dispute-without-breach",
      "description": "Measured metric meets threshold; no breach.",
      "policy_parameters": {
        "execution_claim": {
          "execution_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "tool_id": "art-251-compute-parametric-trigger-payout",
          "receipts": [
            {
              "receipt_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
            }
          ]
        },
        "challenge": {
          "digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
        },
        "warranty_kpi_breach": {
          "kpi": "uptime_pct",
          "threshold": 99.5,
          "direction": "below",
          "receipts": [
            {
              "receipt_hash": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
              "measured_metric": 99.9
            }
          ]
        }
      },
      "output_payload": {
        "claim_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "challenge_digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
        "replay_instructions": "Replay tool_id art-251-compute-parametric-trigger-payout with the recorded policy_parameters and confirm execution_hash reproduces sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; cross-check 1 bound receipt(s).",
        "receipts": [
          {
            "receipt_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
          }
        ],
        "kpi_breach": {
          "kpi": "uptime_pct",
          "threshold": 99.5,
          "measured": 99.9,
          "breached": false
        },
        "bundle_claim_strength": "receipt-backed",
        "insufficient_evidence": false
      },
      "golden_hash": "84e5d5641ab58a587adf2a50e53e5de1738aa7bc135189f08a8c598bf52cf1bb"
    },
    {
      "name": "malformed-gate",
      "description": "No execution_claim, no challenge; finite-gate.",
      "policy_parameters": {},
      "output_payload": {
        "claim_digest": null,
        "challenge_digest": null,
        "replay_instructions": null,
        "receipts": [],
        "kpi_breach": null,
        "bundle_claim_strength": "missing",
        "insufficient_evidence": true
      },
      "golden_hash": "fc94efd635777ef35eff1bf4ec22335f1479f91f0c3f67a00db18dac5f2ec7f9"
    }
  ]
}
