{
  "tool_id": "art-317-rhc-multiplier-reconciler",
  "note": "golden_hash computed via _hash.mjs executionHash at fixture-generation time.",
  "vectors": [
    {
      "name": "clean_split_reconciled",
      "policy_parameters": {
        "declared_action": {
          "type": "split",
          "ratio": 2,
          "ex_date": "2026-07-10"
        },
        "prior_multiplier": 1,
        "current_multiplier": 2,
        "raw_balance_before": 1000,
        "raw_balance_after": 1000,
        "event_log": [
          {
            "index": 0,
            "ex_date": "2026-07-10",
            "multiplier_before": 1,
            "multiplier_after": 2
          }
        ]
      },
      "output_payload": {
        "verdict": "RECONCILED",
        "declared_action_type": "split",
        "expected_ratio": 2,
        "computed_ratio": 2,
        "ratio_match": true,
        "raw_balance_invariant": true,
        "event_count": 1,
        "discrepancies": []
      },
      "golden_hash": "6ab518dd6646e6672c45bf2bef3886605983c05df29a6b494a038d56b44dc2f7"
    },
    {
      "name": "mismatched_ratio_discrepancy",
      "policy_parameters": {
        "declared_action": {
          "type": "split",
          "ratio": 2,
          "ex_date": "2026-07-10"
        },
        "prior_multiplier": 1,
        "current_multiplier": 1.5,
        "raw_balance_before": 1000,
        "raw_balance_after": 1000,
        "event_log": [
          {
            "index": 0,
            "ex_date": "2026-07-10",
            "multiplier_before": 1,
            "multiplier_after": 1.5
          }
        ]
      },
      "output_payload": {
        "verdict": "DISCREPANCY",
        "declared_action_type": "split",
        "expected_ratio": 2,
        "computed_ratio": 1.5,
        "ratio_match": false,
        "raw_balance_invariant": true,
        "event_count": 1,
        "discrepancies": [
          "multiplier_ratio_mismatch"
        ]
      },
      "golden_hash": "9277952098acd1f81f6cf3decf19f3b886c52340ede7c4ef6624134400b3966e"
    },
    {
      "name": "raw_balance_moved_discrepancy",
      "policy_parameters": {
        "declared_action": {
          "type": "dividend",
          "ratio": 1.1,
          "ex_date": "2026-07-12"
        },
        "prior_multiplier": 1,
        "current_multiplier": 1.1,
        "raw_balance_before": 500,
        "raw_balance_after": 480,
        "event_log": [
          {
            "index": 0,
            "ex_date": "2026-07-12",
            "multiplier_before": 1,
            "multiplier_after": 1.1
          }
        ]
      },
      "output_payload": {
        "verdict": "DISCREPANCY",
        "declared_action_type": "dividend",
        "expected_ratio": 1.1,
        "computed_ratio": 1.1,
        "ratio_match": true,
        "raw_balance_invariant": false,
        "event_count": 1,
        "discrepancies": [
          "raw_balance_moved_without_redemption"
        ]
      },
      "golden_hash": "c8498e2d4ca7872432ca16d1a6fe9bd1ba1e35f8c544e4964dc01b1175a412c2"
    }
  ]
}
