{
  "tool_id": "art-462-je-ruleset-screen",
  "note": "golden_hash filled by golden-parity.test.mjs --update; output_payload filled by fill-fixture-payloads.mjs. Vector 1: all 5 rules active, mixed trips across entries. Vector 2: single rule (post_close) active, one flagged entry. Vector 3: no entries -- finite gate / empty extract.",
  "vectors": [
    {
      "name": "all_rules_mixed_trips",
      "description": "5 entries, all 5 rules active. Sat posting (weekend), a round $5000 entry, a suspense-account posting, a post-close posting, and an unauthorized user/account pair. One clean entry included for contrast.",
      "policy_parameters": {
        "ruleset_version": "2026.1",
        "extract_population_hash": "sha256:abc123",
        "active_rules": [
          "weekend_holiday",
          "round_number",
          "suspense_manual",
          "post_close",
          "unusual_user_account"
        ],
        "rule_params": {
          "weekend_days": [
            0,
            6
          ],
          "holiday_dates": [
            "2026-01-01"
          ],
          "round_number_increment": 1000,
          "suspense_accounts": [
            "9999-SUSPENSE"
          ],
          "post_close_date": "2026-01-31",
          "authorized_user_account_pairs": [
            {
              "user_id": "u1",
              "account_id": "1000-CASH"
            },
            {
              "user_id": "u2",
              "account_id": "2000-AP"
            }
          ]
        },
        "entries": [
          {
            "entry_id": "JE-1",
            "posting_date": "2026-01-10",
            "amount": 5000,
            "account_id": "1000-CASH",
            "user_id": "u1",
            "description": "round posting",
            "is_manual": false
          },
          {
            "entry_id": "JE-2",
            "posting_date": "2026-01-11",
            "amount": 1234.56,
            "account_id": "9999-SUSPENSE",
            "user_id": "u2",
            "description": "suspense clearing",
            "is_manual": false
          },
          {
            "entry_id": "JE-3",
            "posting_date": "2026-02-03",
            "amount": 750,
            "account_id": "3000-EXP",
            "user_id": "u1",
            "description": "post close adj",
            "is_manual": false
          },
          {
            "entry_id": "JE-4",
            "posting_date": "2026-01-12",
            "amount": 420,
            "account_id": "4000-REV",
            "user_id": "u3",
            "description": "unusual pairing",
            "is_manual": false
          },
          {
            "entry_id": "JE-5",
            "posting_date": "2026-01-13",
            "amount": 310,
            "account_id": "1000-CASH",
            "user_id": "u1",
            "description": "clean entry",
            "is_manual": false
          }
        ]
      },
      "output_payload": {
        "ruleset_version": "2026.1",
        "extract_population_hash": "sha256:abc123",
        "active_rules": [
          "weekend_holiday",
          "round_number",
          "suspense_manual",
          "post_close",
          "unusual_user_account"
        ],
        "missing_policy_inputs": [],
        "rule_params_used": {
          "weekend_days": [
            0,
            6
          ],
          "holiday_dates": [
            "2026-01-01"
          ],
          "round_number_increment": 1000,
          "suspense_accounts": [
            "9999-SUSPENSE"
          ],
          "post_close_date": "2026-01-31",
          "authorized_user_account_pairs_count": 2
        },
        "total_entries": 5,
        "flagged_count": 4,
        "rule_trip_counts": {
          "weekend_holiday": 2,
          "round_number": 1,
          "suspense_manual": 1,
          "post_close": 1,
          "unusual_user_account": 3
        },
        "flagged_entries": [
          {
            "entry_id": "JE-1",
            "posting_date": "2026-01-10",
            "account_id": "1000-CASH",
            "user_id": "u1",
            "amount": 5000,
            "rules_tripped": [
              {
                "rule_id": "weekend_holiday",
                "severity": "low",
                "detail": "weekend_day"
              },
              {
                "rule_id": "round_number",
                "severity": "medium",
                "detail": "multiple_of_1000"
              }
            ],
            "highest_severity": "medium"
          },
          {
            "entry_id": "JE-2",
            "posting_date": "2026-01-11",
            "account_id": "9999-SUSPENSE",
            "user_id": "u2",
            "amount": 1234.56,
            "rules_tripped": [
              {
                "rule_id": "weekend_holiday",
                "severity": "low",
                "detail": "weekend_day"
              },
              {
                "rule_id": "suspense_manual",
                "severity": "high",
                "detail": "suspense_account"
              },
              {
                "rule_id": "unusual_user_account",
                "severity": "medium",
                "detail": "pair_not_in_authorized_list"
              }
            ],
            "highest_severity": "high"
          },
          {
            "entry_id": "JE-3",
            "posting_date": "2026-02-03",
            "account_id": "3000-EXP",
            "user_id": "u1",
            "amount": 750,
            "rules_tripped": [
              {
                "rule_id": "post_close",
                "severity": "high",
                "detail": "posted_after_period_close"
              },
              {
                "rule_id": "unusual_user_account",
                "severity": "medium",
                "detail": "pair_not_in_authorized_list"
              }
            ],
            "highest_severity": "high"
          },
          {
            "entry_id": "JE-4",
            "posting_date": "2026-01-12",
            "account_id": "4000-REV",
            "user_id": "u3",
            "amount": 420,
            "rules_tripped": [
              {
                "rule_id": "unusual_user_account",
                "severity": "medium",
                "detail": "pair_not_in_authorized_list"
              }
            ],
            "highest_severity": "medium"
          }
        ]
      },
      "golden_hash": "4856aa75ecb43d0751b6b9da36f5268fecb509b6397252338e4c17d6b1540782"
    },
    {
      "name": "single_rule_post_close",
      "description": "Only post_close active. One entry after the declared close date, one before -- exercises the single-active-rule path.",
      "policy_parameters": {
        "ruleset_version": "2026.1",
        "active_rules": [
          "post_close"
        ],
        "rule_params": {
          "post_close_date": "2026-03-31"
        },
        "entries": [
          {
            "entry_id": "JE-10",
            "posting_date": "2026-04-02",
            "amount": 100,
            "account_id": "5000-COGS",
            "user_id": "u9",
            "description": "late posting",
            "is_manual": false
          },
          {
            "entry_id": "JE-11",
            "posting_date": "2026-03-15",
            "amount": 200,
            "account_id": "5000-COGS",
            "user_id": "u9",
            "description": "in period",
            "is_manual": false
          }
        ]
      },
      "output_payload": {
        "ruleset_version": "2026.1",
        "extract_population_hash": null,
        "active_rules": [
          "post_close"
        ],
        "missing_policy_inputs": [],
        "rule_params_used": {
          "weekend_days": [
            0,
            6
          ],
          "holiday_dates": [],
          "round_number_increment": 1000,
          "suspense_accounts": [],
          "post_close_date": "2026-03-31",
          "authorized_user_account_pairs_count": 0
        },
        "total_entries": 2,
        "flagged_count": 1,
        "rule_trip_counts": {
          "post_close": 1
        },
        "flagged_entries": [
          {
            "entry_id": "JE-10",
            "posting_date": "2026-04-02",
            "account_id": "5000-COGS",
            "user_id": "u9",
            "amount": 100,
            "rules_tripped": [
              {
                "rule_id": "post_close",
                "severity": "high",
                "detail": "posted_after_period_close"
              }
            ],
            "highest_severity": "high"
          }
        ]
      },
      "golden_hash": "d8d99bb8556efdb573e2a6c991d64b5ea974b859a632e34d3252c2b54ebffd5c"
    },
    {
      "name": "empty_extract_edge",
      "description": "No entries declared -- finite gate, no NaN, zero flagged.",
      "policy_parameters": {
        "ruleset_version": "2026.1",
        "active_rules": [
          "weekend_holiday"
        ],
        "entries": []
      },
      "output_payload": {
        "ruleset_version": "2026.1",
        "extract_population_hash": null,
        "active_rules": [
          "weekend_holiday"
        ],
        "missing_policy_inputs": [
          "weekend_holiday: no weekend_days or holiday_dates declared (using weekend_days default [0,6])"
        ],
        "rule_params_used": {
          "weekend_days": [
            0,
            6
          ],
          "holiday_dates": [],
          "round_number_increment": 1000,
          "suspense_accounts": [],
          "post_close_date": null,
          "authorized_user_account_pairs_count": 0
        },
        "total_entries": 0,
        "flagged_count": 0,
        "rule_trip_counts": {
          "weekend_holiday": 0
        },
        "flagged_entries": []
      },
      "golden_hash": "3057dabace2f0201cf71640de9a2dbf9ebb6f6b3d64294a471bf3d472da80404"
    }
  ]
}
