{
  "_comment": "OpenChainGraph v0.4 conformance vector. Reproduce: execution_hash = SHA-256 hex of canonical_preimage; canonical_preimage = JSON.stringify(cgCanon({policy_parameters, output_payload})) per standard/SPEC.md §4. See README.md.",
  "tool_id": "508-repo-haircut-collateral-calculator",
  "spec_version": "0.4.0",
  "fixture": "minimal",
  "policy_parameters": {
    "collateral_type": "ust_10y",
    "notional_usd": 10000000,
    "tenor": "overnight",
    "cross_border": false,
    "counterparty_type": "bank",
    "canton247": true,
    "concentration_pct": 10
  },
  "output_payload": {
    "collateral_type": "ust_10y",
    "tenor": "overnight",
    "notional_usd": 10000000,
    "base_haircut_pct": 4,
    "d349_floor_pct": 0.5,
    "adjustments": [
      {
        "reason": "weekend_valuation_gap_legacy",
        "delta": 1.5
      }
    ],
    "legacy_haircut_pct": 5.5,
    "canton_haircut_pct": 4,
    "weekend_saving_pp": 1.5,
    "active_haircut_pct": 4,
    "initial_margin_usd": 400000,
    "vm_threshold_usd": 20000,
    "haircut_tier": "teal",
    "canton247": true
  },
  "canonical_preimage": "{\"output_payload\":{\"active_haircut_pct\":4,\"adjustments\":[{\"delta\":1.5,\"reason\":\"weekend_valuation_gap_legacy\"}],\"base_haircut_pct\":4,\"canton247\":true,\"canton_haircut_pct\":4,\"collateral_type\":\"ust_10y\",\"d349_floor_pct\":0.5,\"haircut_tier\":\"teal\",\"initial_margin_usd\":400000,\"legacy_haircut_pct\":5.5,\"notional_usd\":10000000,\"tenor\":\"overnight\",\"vm_threshold_usd\":20000,\"weekend_saving_pp\":1.5},\"policy_parameters\":{\"canton247\":true,\"collateral_type\":\"ust_10y\",\"concentration_pct\":10,\"counterparty_type\":\"bank\",\"cross_border\":false,\"notional_usd\":10000000,\"tenor\":\"overnight\"}}",
  "execution_hash": "a75e33cb682018b3876e91c291816df0bf5fc5c894a22eb980766a9d610e8fbf"
}
