{
  "tool_id": "art-543-csdr-penalty-recompute",
  "note": "Vectors computed directly from the shipped kernel. single-equity-fail-priced exercises the base priced path; multi-fail-partial-credit-private-isin exercises partial-settlement credit, the sha256-salted@1 §25 private-input path, and forward exposure summation; rate-table-version-kill-condition exercises the rate_table_version caller-input defect (execution_state did_not_run). All ISINs/counterparty ids/commitments are synthetic -- no real firm data.",
  "vectors": [
    {
      "name": "single-equity-fail-priced",
      "description": "One equity SEFP fail, no partial settlement -- straightforward per-fail penalty at the RTS equity rate.",
      "policy_parameters": {
        "recompute_id": "DEMO-CSDR-2026Q3",
        "rate_table_version": "CSDR-RTS-2025-10",
        "open_fails": [
          {
            "fail_id": "FAIL-1",
            "isin": "DE000TEST001",
            "asset_class": "equity",
            "penalty_type": "sefp",
            "reference_price": 100,
            "quantity": 1000,
            "fail_days": 3,
            "partial_settled_pct": 0
          }
        ]
      },
      "output_payload": {
        "decision": {
          "execution_state": "ran",
          "reason": null
        },
        "recompute_id": "DEMO-CSDR-2026Q3",
        "rate_table_version": "CSDR-RTS-2025-10",
        "fail_count": 1,
        "determinations": [
          {
            "fail_id": "FAIL-1",
            "isin": "DE000TEST001",
            "isin_private": false,
            "counterparty_id": null,
            "asset_class": "equity",
            "penalty_type": "sefp",
            "daily_rate_bps": 1,
            "reference_price": 100,
            "quantity": 1000,
            "fail_days": 3,
            "partial_settled_pct": 0,
            "gross_penalty": 30,
            "partial_credit": 0,
            "penalty_amount": 30
          }
        ],
        "total_penalty_exposure": 30,
        "rejected_inputs": [],
        "note": "DECISION-SUPPORT DRAFT -- not a regulatory penalty notice. Deterministic per-ISIN/day cash-penalty recompute against a versioned RTS rate schedule; verify against current CSDR Delegated Reg. (RTS) (EU) 2018/1229 as amended and ESMA RTS (Final Report 13 Oct 2025). Partial-settlement credit applies proportionally. reference_price is caller-supplied per fail -- never derived from notional (fixes art-78-csdr-penalty-calculator's reachability defect; art-78 itself is unchanged)."
      },
      "golden_hash": "57367986702680ce3656e4a803bebedf19300b17b5ae724f53bcb834b4b22cac"
    },
    {
      "name": "multi-fail-partial-credit-private-isin",
      "description": "Two fails: one bond SEFP fail with 40% partial settlement credit and a salted-commitment ISIN, one equity LMFP fail plaintext ISIN -- exercises partial credit, §25 private-input path, and forward exposure summation.",
      "policy_parameters": {
        "recompute_id": "DEMO-CSDR-2026Q3",
        "rate_table_version": "CSDR-RTS-2025-10",
        "open_fails": [
          {
            "fail_id": "FAIL-2",
            "isin_commitment": "sha256:6afb36ec72484939831daff6370395f9f4fe87bb0891ebe1dd644488acf8d738",
            "counterparty_id_commitment": "sha256:4ec6183c2cb8349fb1fc7f72e9489d22afb6ad4d7ef5c0947c550130044c70e0",
            "asset_class": "non_ssa_bond",
            "penalty_type": "sefp",
            "reference_price": 98.5,
            "quantity": 500000,
            "fail_days": 5,
            "partial_settled_pct": 0.4
          },
          {
            "fail_id": "FAIL-3",
            "isin": "FR000TEST002",
            "asset_class": "equity",
            "penalty_type": "lmfp",
            "reference_price": 42,
            "quantity": 2000,
            "fail_days": 1,
            "partial_settled_pct": 0
          }
        ]
      },
      "output_payload": {
        "decision": {
          "execution_state": "ran",
          "reason": null
        },
        "recompute_id": "DEMO-CSDR-2026Q3",
        "rate_table_version": "CSDR-RTS-2025-10",
        "fail_count": 2,
        "determinations": [
          {
            "fail_id": "FAIL-2",
            "isin": "sha256:6afb36ec72484939831daff6370395f9f4fe87bb0891ebe1dd644488acf8d738",
            "isin_private": true,
            "counterparty_id": "sha256:4ec6183c2cb8349fb1fc7f72e9489d22afb6ad4d7ef5c0947c550130044c70e0",
            "asset_class": "non_ssa_bond",
            "penalty_type": "sefp",
            "daily_rate_bps": 0.5,
            "reference_price": 98.5,
            "quantity": 500000,
            "fail_days": 5,
            "partial_settled_pct": 0.4,
            "gross_penalty": 12312.500000000002,
            "partial_credit": 4925.000000000001,
            "penalty_amount": 7387.500000000001
          },
          {
            "fail_id": "FAIL-3",
            "isin": "FR000TEST002",
            "isin_private": false,
            "counterparty_id": null,
            "asset_class": "equity",
            "penalty_type": "lmfp",
            "daily_rate_bps": 0.5,
            "reference_price": 42,
            "quantity": 2000,
            "fail_days": 1,
            "partial_settled_pct": 0,
            "gross_penalty": 4.2,
            "partial_credit": 0,
            "penalty_amount": 4.2
          }
        ],
        "total_penalty_exposure": 7391.700000000001,
        "rejected_inputs": [],
        "note": "DECISION-SUPPORT DRAFT -- not a regulatory penalty notice. Deterministic per-ISIN/day cash-penalty recompute against a versioned RTS rate schedule; verify against current CSDR Delegated Reg. (RTS) (EU) 2018/1229 as amended and ESMA RTS (Final Report 13 Oct 2025). Partial-settlement credit applies proportionally. reference_price is caller-supplied per fail -- never derived from notional (fixes art-78-csdr-penalty-calculator's reachability defect; art-78 itself is unchanged)."
      },
      "golden_hash": "887d44be3e9bc4f96f6a3f7c727dedb9deb93640eeb8ea3fdc7dd06ac00f1278"
    },
    {
      "name": "rate-table-version-kill-condition",
      "description": "Missing rate_table_version -- caller-input defect, execution_state did_not_run, distinct from the empty-fails vacuous pass.",
      "policy_parameters": {
        "recompute_id": "DEMO-CSDR-2026Q3",
        "open_fails": [
          {
            "fail_id": "FAIL-4",
            "isin": "DE000TEST001",
            "asset_class": "equity",
            "penalty_type": "sefp",
            "reference_price": 100,
            "quantity": 1000,
            "fail_days": 3
          }
        ]
      },
      "output_payload": {
        "decision": {
          "execution_state": "did_not_run",
          "reason": "rate_table_version_missing_or_mismatched"
        },
        "recompute_id": "DEMO-CSDR-2026Q3",
        "rate_table_version": null,
        "fail_count": 0,
        "determinations": [],
        "total_penalty_exposure": 0,
        "rejected_inputs": [
          {
            "where": "rate_table_version",
            "reason": "must be exactly \"CSDR-RTS-2025-10\" -- the RTS rate schedule is a closed, versioned, enumerated table (TRADFI-OPS-BUILD-SPEC.md §0) and cannot be silently substituted",
            "supplied": null
          }
        ],
        "note": "DECISION-SUPPORT DRAFT -- not a regulatory penalty notice. Deterministic per-ISIN/day cash-penalty recompute against a versioned RTS rate schedule; verify against current CSDR Delegated Reg. (RTS) (EU) 2018/1229 as amended and ESMA RTS (Final Report 13 Oct 2025). Partial-settlement credit applies proportionally. reference_price is caller-supplied per fail -- never derived from notional (fixes art-78-csdr-penalty-calculator's reachability defect; art-78 itself is unchanged)."
      },
      "golden_hash": "1d7f222517f9c20500a6c7c19ecef415065a8c2b3ffa99db2e9a7579344681eb"
    }
  ]
}
