{
  "tool_id": "art-227-validate-adverse-action-notice",
  "note": "Vectors from Reg B §1002.9 + CFPB Circulars 2022-03/2023-03. golden_hash empty until golden-parity --update.",
  "vectors": [
    {
      "name": "four_fico_reasons_compliant",
      "description": "4 specific FICO reason codes, all required fields present, credit report used: fully compliant notice.",
      "policy_parameters": {
        "reasons": [
          {
            "code": "22",
            "source": "fico"
          },
          {
            "code": "10",
            "source": "fico"
          },
          {
            "code": "05",
            "source": "fico"
          },
          {
            "code": "08",
            "source": "fico"
          }
        ],
        "action_taken": "denied",
        "reason_code_source": "fico",
        "credit_score_used": true,
        "notice_includes_creditor_name": true,
        "notice_includes_action_taken": true,
        "notice_includes_date": true,
        "notice_includes_fcra_rights": true,
        "notice_includes_credit_bureau_info": true,
        "notice_includes_right_to_copy": true,
        "notice_includes_dispute_right": true
      },
      "output_payload": {
        "compliant": true,
        "violation_count": 0,
        "warning_count": 0,
        "violations": [],
        "warnings": [],
        "reason_count": 4,
        "reason_count_valid": true,
        "fcra_required": true,
        "fcra_violations": 0,
        "action_taken": "denied",
        "credit_score_used": true,
        "compliance_score": 1,
        "regulatory_basis": "Reg B §1002.9(a)(2)(i) (12 CFR Part 1002); ECOA 15 USC §1691c; FCRA §615(a) 15 USC §1681m; CFPB Circular 2022-03; CFPB Circular 2023-03",
        "table_version": "REG-B-ADVERSE-ACTION-2024-CFPB-CIRC-2023-03",
        "table_source": "CFPB Circular 2022-03 (Aug 2022); CFPB Circular 2023-03 (Sep 2023); 12 CFR §1002.9; 15 USC §1681m",
        "pii_note": "All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data."
      },
      "golden_hash": "c7bcb2a39d8200873d8eb73950b6bdb8d002f9ca4687a14b2c4134084a724b0b"
    },
    {
      "name": "vague_code_missing_fcra",
      "description": "Vague prohibited code (z_other) + missing FCRA §615(a) fields: 4 violations expected.",
      "policy_parameters": {
        "reasons": [
          {
            "code": "z_other",
            "source": "fico"
          },
          {
            "code": "10",
            "source": "fico"
          }
        ],
        "action_taken": "denied",
        "credit_score_used": true,
        "notice_includes_creditor_name": true,
        "notice_includes_action_taken": true,
        "notice_includes_date": true,
        "notice_includes_credit_bureau_info": false,
        "notice_includes_right_to_copy": false,
        "notice_includes_dispute_right": false
      },
      "output_payload": {
        "compliant": false,
        "violation_count": 4,
        "warning_count": 0,
        "violations": [
          {
            "code": "CFPB_CIRC_2023_03_VAGUE_REASON",
            "rule": "CFPB Circular 2023-03",
            "message": "Reason code 'z_other' at position 1 is a prohibited vague/checklist code under CFPB Circular 2023-03."
          },
          {
            "code": "FCRA_615A_MISSING_CRA_INFO",
            "rule": "FCRA §615(a)",
            "message": "Credit report was used; notice must include CRA name, address, and phone number."
          },
          {
            "code": "FCRA_615A_MISSING_FREE_COPY_RIGHT",
            "rule": "FCRA §615(a)",
            "message": "Credit report was used; notice must state right to free copy within 60 days."
          },
          {
            "code": "FCRA_615A_MISSING_DISPUTE_RIGHT",
            "rule": "FCRA §615(a)",
            "message": "Credit report was used; notice must state right to dispute inaccurate information with CRA."
          }
        ],
        "warnings": [],
        "reason_count": 2,
        "reason_count_valid": true,
        "fcra_required": true,
        "fcra_violations": 3,
        "action_taken": "denied",
        "credit_score_used": true,
        "compliance_score": 0.4286,
        "regulatory_basis": "Reg B §1002.9(a)(2)(i) (12 CFR Part 1002); ECOA 15 USC §1691c; FCRA §615(a) 15 USC §1681m; CFPB Circular 2022-03; CFPB Circular 2023-03",
        "table_version": "REG-B-ADVERSE-ACTION-2024-CFPB-CIRC-2023-03",
        "table_source": "CFPB Circular 2022-03 (Aug 2022); CFPB Circular 2023-03 (Sep 2023); 12 CFR §1002.9; 15 USC §1681m",
        "pii_note": "All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data."
      },
      "golden_hash": "14f0b07792a2d2b17a511965a3488efa70e40c903d005bd79a941a9cae4a353b"
    },
    {
      "name": "empty_input_finite",
      "description": "Empty input returns finite zero-state (no reasons = 1 Reg B violation, compliance_score finite).",
      "policy_parameters": {},
      "output_payload": {
        "compliant": false,
        "violation_count": 4,
        "warning_count": 0,
        "violations": [
          {
            "code": "REGB_NO_REASONS",
            "rule": "Reg B §1002.9(a)(2)",
            "message": "Notice must state specific reasons for adverse action."
          },
          {
            "code": "REGB_MISSING_CREDITOR_NAME",
            "rule": "Reg B §1002.9(a)(2)(i)",
            "message": "Notice must include creditor name and address."
          },
          {
            "code": "REGB_MISSING_ACTION_TAKEN",
            "rule": "Reg B §1002.9(a)(2)(i)",
            "message": "Notice must state the action taken."
          },
          {
            "code": "REGB_MISSING_DATE",
            "rule": "Reg B §1002.9(a)(2)(i)",
            "message": "Notice must include the date of the action."
          }
        ],
        "warnings": [],
        "reason_count": 0,
        "reason_count_valid": false,
        "fcra_required": false,
        "fcra_violations": 0,
        "action_taken": "denied",
        "credit_score_used": false,
        "compliance_score": 0,
        "regulatory_basis": "Reg B §1002.9(a)(2)(i) (12 CFR Part 1002); ECOA 15 USC §1691c; FCRA §615(a) 15 USC §1681m; CFPB Circular 2022-03; CFPB Circular 2023-03",
        "table_version": "REG-B-ADVERSE-ACTION-2024-CFPB-CIRC-2023-03",
        "table_source": "CFPB Circular 2022-03 (Aug 2022); CFPB Circular 2023-03 (Sep 2023); 12 CFR §1002.9; 15 USC §1681m",
        "pii_note": "All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data."
      },
      "golden_hash": "48458abafe0b91c2f8c3e1149b8e0823d8c9991aeb979b1fb9162e3749a5a970"
    }
  ]
}
