{
  "tool_id": "art-320-rhc-collateral-haircut",
  "note": "golden_hash computed via _hash.mjs executionHash at fixture-generation time.",
  "vectors": [
    {
      "name": "normal_no_staleness",
      "policy_parameters": {
        "position_value": 100000,
        "base_haircut": 0.15,
        "feed_round": {
          "timestamp": 1000,
          "heartbeat_seconds": 3600
        },
        "current_time": 2000,
        "sequencer_uptime": {
          "is_up": true
        },
        "underlying_market_state": {
          "is_halted": false
        }
      },
      "output_payload": {
        "verdict": "HAIRCUT_COMPUTED",
        "feed_stale": false,
        "sequencer_down_within_grace": false,
        "sequencer_down_grace_expired": false,
        "underlying_halted": false,
        "base_haircut": 0.15,
        "extra_haircut": 0,
        "final_haircut": 0.15,
        "adjusted_collateral_value": 85000,
        "liquidation_risk": "normal"
      },
      "golden_hash": "d92acc55c3bcf5046e0aa98d5e8bd28d5709973d078aa5e90fa5a4eefc0405a8"
    },
    {
      "name": "liquidation_blocked_halted",
      "policy_parameters": {
        "position_value": 100000,
        "base_haircut": 0.15,
        "feed_round": {
          "timestamp": 1000,
          "heartbeat_seconds": 3600
        },
        "current_time": 2000,
        "sequencer_uptime": {
          "is_up": true
        },
        "underlying_market_state": {
          "is_halted": true
        }
      },
      "output_payload": {
        "verdict": "LIQUIDATION_BLOCKED",
        "feed_stale": false,
        "sequencer_down_within_grace": false,
        "sequencer_down_grace_expired": false,
        "underlying_halted": true,
        "base_haircut": 0.15,
        "extra_haircut": 0.15,
        "final_haircut": 0.3,
        "adjusted_collateral_value": 70000,
        "liquidation_risk": "blocked"
      },
      "golden_hash": "5557361c30fb7904ba07fcd687ff49f826aea84bd0b25e83294b5c90886bbd70"
    },
    {
      "name": "stale_feed_elevated",
      "policy_parameters": {
        "position_value": 100000,
        "base_haircut": 0.15,
        "feed_round": {
          "timestamp": 1000,
          "heartbeat_seconds": 500
        },
        "current_time": 2000,
        "sequencer_uptime": {
          "is_up": true
        },
        "underlying_market_state": {
          "is_halted": false
        }
      },
      "output_payload": {
        "verdict": "HAIRCUT_COMPUTED",
        "feed_stale": true,
        "sequencer_down_within_grace": false,
        "sequencer_down_grace_expired": false,
        "underlying_halted": false,
        "base_haircut": 0.15,
        "extra_haircut": 0.1,
        "final_haircut": 0.25,
        "adjusted_collateral_value": 75000,
        "liquidation_risk": "elevated"
      },
      "golden_hash": "226d53643820609a20c3affb7fde0d5fea54f195ec27cecd4fc06bcb98e0c874"
    }
  ]
}
