{
  "tool_id": "art-484-regrpt-editcheck-runner",
  "note": "Vectors computed directly from the shipped kernel. clean-pass exercises the four original rule shapes evaluating pass with zero suppressions. validation-failures-with-suppression exercises a failing arithmetic_identity, a failing cross_schedule_tie_out, a failing sign_domain (missing ref), a failing mandatory_field (empty value), a suppressed rule, and a stale suppression (edit_id absent from the rule set). empty-input exercises the finite empty-input path. conditional-rules-clean-pass and conditional-rules-failures-and-defects exercise the three conditional shapes added under FR2052A-DEPTH-BUILD-SPEC.md §3.1, including a predicate that does not hold (not applicable) and two malformed rules raising RULE_PREDICATE_INVALID.",
  "vectors": [
    {
      "name": "clean-pass",
      "description": "One instance of each rule type, all evaluating pass; no suppressions applied.",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-03-31",
          "cells": [
            { "cell_ref": "RCON2170", "schedule": "RC", "line_item": "total_assets", "value": 1000 },
            { "cell_ref": "RCON2948", "schedule": "RC", "line_item": "total_liabilities", "value": 700 },
            { "cell_ref": "RCON3210", "schedule": "RC", "line_item": "total_equity_capital", "value": 300 },
            { "cell_ref": "RCFA7206", "schedule": "RC-R", "line_item": "cet1_capital", "value": 250 },
            { "cell_ref": "RCFA7206_TIEOUT", "schedule": "RC-R-SUMMARY", "line_item": "cet1_capital_restated", "value": 250 },
            { "cell_ref": "RCFAB588", "schedule": "RC-R", "line_item": "total_rwa", "value": 2000 },
            { "cell_ref": "RCONK652", "schedule": "RC", "line_item": "entity_id", "value": "FDIC-CERT-1234" }
          ]
        },
        "rule_set": {
          "version": "FFIEC-2026-01-22",
          "source": "FFIEC Call Report Validity and Quality Edits, effective 2026-01-22",
          "rules": [
            { "edit_id": "FFIEC-VE-0142", "type": "arithmetic_identity", "schedule": "RC", "description": "Total assets equals total liabilities plus total equity capital.", "severity": "fatal", "target_ref": "RCON2170", "component_refs": ["RCON2948", "RCON3210"], "tolerance": 1 },
            { "edit_id": "FFIEC-VE-0891", "type": "cross_schedule_tie_out", "schedule": "RC-R", "description": "CET1 capital ties out to its RC-R summary restatement.", "severity": "fatal", "ref_a": "RCFA7206", "ref_b": "RCFA7206_TIEOUT", "tolerance": 0 },
            { "edit_id": "FFIEC-VE-0203", "type": "sign_domain", "schedule": "RC-R", "description": "Total risk-weighted assets is positive.", "severity": "fatal", "ref": "RCFAB588", "domain": "positive" },
            { "edit_id": "FFIEC-VE-0004", "type": "mandatory_field", "schedule": "RC", "description": "Entity identifier is present.", "severity": "fatal", "ref": "RCONK652" }
          ]
        },
        "suppressions": []
      },
      "output_payload": {
        "rule_set_version": "FFIEC-2026-01-22",
        "rule_set_source": "FFIEC Call Report Validity and Quality Edits, effective 2026-01-22",
        "suppressions_applied": [],
        "stale_suppressions": [],
        "findings": [
          { "edit_id": "FFIEC-VE-0142", "type": "arithmetic_identity", "schedule": "RC", "severity": "fatal", "description": "Total assets equals total liabilities plus total equity capital.", "status": "pass", "computed_value": 1000, "reported_value": 1000, "message": "Sum of RCON2948 + RCON3210 agrees with RCON2170 within tolerance 1." },
          { "edit_id": "FFIEC-VE-0891", "type": "cross_schedule_tie_out", "schedule": "RC-R", "severity": "fatal", "description": "CET1 capital ties out to its RC-R summary restatement.", "status": "pass", "computed_value": 250, "reported_value": 250, "message": "RCFA7206 (250) ties out to RCFA7206_TIEOUT (250) within tolerance 0." },
          { "edit_id": "FFIEC-VE-0203", "type": "sign_domain", "schedule": "RC-R", "severity": "fatal", "description": "Total risk-weighted assets is positive.", "status": "pass", "computed_value": 2000, "reported_value": 2000, "message": "RCFAB588 (2000) satisfies domain > 0." },
          { "edit_id": "FFIEC-VE-0004", "type": "mandatory_field", "schedule": "RC", "severity": "fatal", "description": "Entity identifier is present.", "status": "pass", "computed_value": null, "reported_value": "FDIC-CERT-1234", "message": "RCONK652 is present and non-empty." }
        ],
        "summary": { "total_rules": 4, "applied": 4, "suppressed": 0, "pass": 4, "fail": 0, "stale_suppression_count": 0, "overall_pass": true },
        "compliance_flags": [],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "ec0c6ed97a0c23cecc1300998b41616566986da15268d79c100d175c9389c8e2"
    },
    {
      "name": "validation-failures-with-suppression",
      "description": "One rule fails arithmetic identity, one fails tie-out, one fails sign domain (missing ref), one fails mandatory field (empty), one rule is suppressed, and one suppression is stale (edit_id not present in rule_set).",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-06-30",
          "cells": [
            { "cell_ref": "RCON2170", "schedule": "RC", "line_item": "total_assets", "value": 1000 },
            { "cell_ref": "RCON2948", "schedule": "RC", "line_item": "total_liabilities", "value": 700 },
            { "cell_ref": "RCON3210", "schedule": "RC", "line_item": "total_equity_capital", "value": 250 },
            { "cell_ref": "RCFA7206", "schedule": "RC-R", "line_item": "cet1_capital", "value": 250 },
            { "cell_ref": "RCFA7206_TIEOUT", "schedule": "RC-R-SUMMARY", "line_item": "cet1_capital_restated", "value": 240 },
            { "cell_ref": "RCONK652", "schedule": "RC", "line_item": "entity_id", "value": "" }
          ]
        },
        "rule_set": {
          "version": "FFIEC-2026-01-22",
          "source": "FFIEC Call Report Validity and Quality Edits, effective 2026-01-22",
          "rules": [
            { "edit_id": "FFIEC-VE-0142", "type": "arithmetic_identity", "schedule": "RC", "description": "Total assets equals total liabilities plus total equity capital.", "severity": "fatal", "target_ref": "RCON2170", "component_refs": ["RCON2948", "RCON3210"], "tolerance": 1 },
            { "edit_id": "FFIEC-VE-0891", "type": "cross_schedule_tie_out", "schedule": "RC-R", "description": "CET1 capital ties out to its RC-R summary restatement.", "severity": "fatal", "ref_a": "RCFA7206", "ref_b": "RCFA7206_TIEOUT", "tolerance": 0 },
            { "edit_id": "FFIEC-VE-0203", "type": "sign_domain", "schedule": "RC-R", "description": "Total risk-weighted assets is positive.", "severity": "fatal", "ref": "RCFAB588", "domain": "positive" },
            { "edit_id": "FFIEC-VE-0004", "type": "mandatory_field", "schedule": "RC", "description": "Entity identifier is present.", "severity": "fatal", "ref": "RCONK652" },
            { "edit_id": "FFIEC-VE-9999", "type": "sign_domain", "schedule": "RC", "description": "Deactivated by FFIEC for known IT issue.", "severity": "warning", "ref": "RCON2170", "domain": "non_negative" }
          ]
        },
        "suppressions": [
          { "edit_id": "FFIEC-VE-9999", "reason": "Deactivated by FFIEC 2026-Q1 for a known IT-system false-positive (per published deactivation script)." },
          { "edit_id": "FFIEC-VE-STALE", "reason": "No longer present in the current rule set version." }
        ]
      },
      "output_payload": {
        "rule_set_version": "FFIEC-2026-01-22",
        "rule_set_source": "FFIEC Call Report Validity and Quality Edits, effective 2026-01-22",
        "suppressions_applied": [
          { "edit_id": "FFIEC-VE-9999", "reason": "Deactivated by FFIEC 2026-Q1 for a known IT-system false-positive (per published deactivation script)." },
          { "edit_id": "FFIEC-VE-STALE", "reason": "No longer present in the current rule set version." }
        ],
        "stale_suppressions": ["FFIEC-VE-STALE"],
        "findings": [
          { "edit_id": "FFIEC-VE-0142", "type": "arithmetic_identity", "schedule": "RC", "severity": "fatal", "description": "Total assets equals total liabilities plus total equity capital.", "status": "fail", "computed_value": 950, "reported_value": 1000, "message": "Sum of RCON2948 + RCON3210 = 950 disagrees with reported RCON2170 = 1000 (difference 50.000000 exceeds tolerance 1)." },
          { "edit_id": "FFIEC-VE-0891", "type": "cross_schedule_tie_out", "schedule": "RC-R", "severity": "fatal", "description": "CET1 capital ties out to its RC-R summary restatement.", "status": "fail", "computed_value": 250, "reported_value": 240, "message": "RCFA7206 (250) disagrees with RCFA7206_TIEOUT (240); difference 10.000000 exceeds tolerance 0." },
          { "edit_id": "FFIEC-VE-0203", "type": "sign_domain", "schedule": "RC-R", "severity": "fatal", "description": "Total risk-weighted assets is positive.", "status": "fail", "computed_value": null, "reported_value": null, "message": "Missing cell reference in report instance: RCFAB588." },
          { "edit_id": "FFIEC-VE-0004", "type": "mandatory_field", "schedule": "RC", "severity": "fatal", "description": "Entity identifier is present.", "status": "fail", "computed_value": null, "reported_value": "", "message": "RCONK652 is present but empty/null." },
          { "edit_id": "FFIEC-VE-9999", "type": "sign_domain", "schedule": "RC", "severity": "warning", "description": "Deactivated by FFIEC for known IT issue.", "status": "suppressed", "computed_value": null, "reported_value": null, "message": "Suppressed: Deactivated by FFIEC 2026-Q1 for a known IT-system false-positive (per published deactivation script)." }
        ],
        "summary": { "total_rules": 5, "applied": 4, "suppressed": 1, "pass": 0, "fail": 4, "stale_suppression_count": 1, "overall_pass": false },
        "compliance_flags": ["EDIT_CHECK_FAILED:FFIEC-VE-0142", "EDIT_CHECK_FAILED:FFIEC-VE-0891", "EDIT_CHECK_FAILED:FFIEC-VE-0203", "EDIT_CHECK_FAILED:FFIEC-VE-0004", "STALE_SUPPRESSION_LIST"],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "9b24056a53f98d0c2e310ea38ef49de432df98642cc79be530bd89609f928aaf"
    },
    {
      "name": "empty-input",
      "description": "Empty policy_parameters -- finite, deterministic empty-state output (empty-input finite gate).",
      "policy_parameters": {},
      "output_payload": {
        "rule_set_version": null,
        "rule_set_source": null,
        "suppressions_applied": [],
        "stale_suppressions": [],
        "findings": [],
        "summary": { "total_rules": 0, "applied": 0, "suppressed": 0, "pass": 0, "fail": 0, "stale_suppression_count": 0, "overall_pass": true },
        "compliance_flags": [],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "73a11dc255e5388e3eb40677647435beb257fc98d73280095a245c7b0aa4cd0f"
    },
    {
      "name": "conditional-rules-clean-pass",
      "description": "One instance of each conditional rule shape evaluating pass, including a conditional_required whose when predicate does not hold (not applicable to this row). Rule ids and values are synthetic; the rule set itself carries no published rule content.",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-03-31",
          "cells": [
            { "cell_ref": "PRODUCT", "schedule": "I.A", "line_item": "product", "value": "I.A.1" },
            { "cell_ref": "SUB_PRODUCT", "schedule": "I.A", "line_item": "sub_product", "value": "Currency and Coin" },
            { "cell_ref": "COUNTERPARTY", "schedule": "I.A", "line_item": "counterparty", "value": "Bank" },
            { "cell_ref": "MATURITY_BUCKET", "schedule": "I.A", "line_item": "maturity_bucket", "value": "Open" },
            { "cell_ref": "COLLATERAL_CLASS", "schedule": "I.A", "line_item": "collateral_class", "value": "A-1-Q" },
            { "cell_ref": "MARKET_VALUE", "schedule": "I.A", "line_item": "market_value", "value": 25000 }
          ]
        },
        "rule_set": {
          "version": "SYNTHETIC-COND-1",
          "source": "Synthetic conditional-shape vectors for the evaluator itself; carries no published rule content.",
          "rules": [
            { "edit_id": "COND-ENUM-01", "type": "enum_membership", "schedule": "I.A", "description": "Collateral class is a member of the permitted class list.", "severity": "fatal", "ref": "COLLATERAL_CLASS", "allowed_values": ["A-1-Q", "A-2-Q", "A-3-Q"] },
            { "edit_id": "COND-ENUM-02", "type": "enum_membership", "schedule": "I.A", "description": "Counterparty is a member of the permitted list where the product is an asset line carrying a positive market value.", "severity": "fatal", "ref": "COUNTERPARTY", "allowed_values": ["Bank", "Non-Financial Corporate"], "when": { "all_of": [{ "ref": "PRODUCT", "op": "in", "values": ["I.A.1", "I.A.2"] }, { "ref": "MARKET_VALUE", "op": "gt", "value": 0 }] } },
            { "edit_id": "COND-REQ-01", "type": "conditional_required", "schedule": "I.A", "description": "Maturity bucket is reported where the product is I.A.1.", "severity": "fatal", "ref": "MATURITY_BUCKET", "when": { "ref": "PRODUCT", "op": "equals", "value": "I.A.1" } },
            { "edit_id": "COND-REQ-02", "type": "conditional_required", "schedule": "S.L", "description": "Forward start amount is reported only on forward-start lines.", "severity": "fatal", "ref": "FORWARD_START_AMOUNT", "when": { "ref": "PRODUCT", "op": "equals", "value": "S.L.1" } },
            { "edit_id": "COND-PRO-01", "type": "conditional_prohibited", "schedule": "I.A", "description": "Sub-product is not reported as Not Applicable outside the forward-start lines.", "severity": "fatal", "ref": "SUB_PRODUCT", "forbidden_values": ["Not Applicable"], "when": { "not": { "ref": "PRODUCT", "op": "equals", "value": "S.L.1" } } }
          ]
        },
        "suppressions": []
      },
      "output_payload": {
        "rule_set_version": "SYNTHETIC-COND-1",
        "rule_set_source": "Synthetic conditional-shape vectors for the evaluator itself; carries no published rule content.",
        "suppressions_applied": [],
        "stale_suppressions": [],
        "findings": [
          { "edit_id": "COND-ENUM-01", "type": "enum_membership", "schedule": "I.A", "severity": "fatal", "description": "Collateral class is a member of the permitted class list.", "status": "pass", "computed_value": null, "reported_value": "A-1-Q", "message": "COLLATERAL_CLASS (\"A-1-Q\") is a member of the permitted values [\"A-1-Q\", \"A-2-Q\", \"A-3-Q\"].", "cav": "validity" },
          { "edit_id": "COND-ENUM-02", "type": "enum_membership", "schedule": "I.A", "severity": "fatal", "description": "Counterparty is a member of the permitted list where the product is an asset line carrying a positive market value.", "status": "pass", "computed_value": null, "reported_value": "Bank", "message": "COUNTERPARTY (\"Bank\") is a member of the permitted values [\"Bank\", \"Non-Financial Corporate\"].", "cav": "validity" },
          { "edit_id": "COND-REQ-01", "type": "conditional_required", "schedule": "I.A", "severity": "fatal", "description": "Maturity bucket is reported where the product is I.A.1.", "status": "pass", "computed_value": null, "reported_value": "Open", "message": "MATURITY_BUCKET is required when PRODUCT == \"I.A.1\", and is present and non-empty.", "cav": "completeness" },
          { "edit_id": "COND-REQ-02", "type": "conditional_required", "schedule": "S.L", "severity": "fatal", "description": "Forward start amount is reported only on forward-start lines.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT == \"S.L.1\") does not hold for this row.", "cav": "completeness" },
          { "edit_id": "COND-PRO-01", "type": "conditional_prohibited", "schedule": "I.A", "severity": "fatal", "description": "Sub-product is not reported as Not Applicable outside the forward-start lines.", "status": "pass", "computed_value": null, "reported_value": "Currency and Coin", "message": "SUB_PRODUCT (\"Currency and Coin\") is not among the values prohibited when not (PRODUCT == \"S.L.1\") [\"Not Applicable\"].", "cav": "validity" }
        ],
        "summary": { "total_rules": 5, "applied": 5, "suppressed": 0, "pass": 5, "fail": 0, "stale_suppression_count": 0, "overall_pass": true },
        "compliance_flags": [],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "d6cde0cf281d80da5f7f131af110c12a6fcffb16fbf63cf38192210bef376280"
    },
    {
      "name": "conditional-rules-failures-and-defects",
      "description": "One failure of each conditional rule shape, plus two malformed rules (a conditional_required with no when predicate, and a predicate with an unknown op) raising RULE_PREDICATE_INVALID once. Rule ids and values are synthetic.",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-06-30",
          "cells": [
            { "cell_ref": "PRODUCT", "schedule": "S.L", "line_item": "product", "value": "S.L.1" },
            { "cell_ref": "SUB_PRODUCT", "schedule": "S.L", "line_item": "sub_product", "value": "" },
            { "cell_ref": "COUNTERPARTY", "schedule": "S.L", "line_item": "counterparty", "value": "Not Applicable" },
            { "cell_ref": "COLLATERAL_CLASS", "schedule": "S.L", "line_item": "collateral_class", "value": "Z-9-Q" },
            { "cell_ref": "MARKET_VALUE", "schedule": "S.L", "line_item": "market_value", "value": 100 }
          ]
        },
        "rule_set": {
          "version": "SYNTHETIC-COND-1",
          "source": "Synthetic conditional-shape vectors for the evaluator itself; carries no published rule content.",
          "rules": [
            { "edit_id": "COND-ENUM-01", "type": "enum_membership", "schedule": "S.L", "description": "Collateral class is a member of the permitted class list.", "severity": "fatal", "ref": "COLLATERAL_CLASS", "allowed_values": ["A-1-Q", "A-2-Q", "A-3-Q"] },
            { "edit_id": "COND-REQ-01", "type": "conditional_required", "schedule": "S.L", "description": "Sub-product is reported on secured lending lines.", "severity": "fatal", "ref": "SUB_PRODUCT", "when": { "ref": "PRODUCT", "op": "in", "values": ["S.L.1", "S.L.2"] } },
            { "edit_id": "COND-PRO-01", "type": "conditional_prohibited", "schedule": "S.L", "description": "Counterparty is not reported as Not Applicable where a market value is reported.", "severity": "fatal", "ref": "COUNTERPARTY", "forbidden_values": ["Not Applicable", "N/A"], "when": { "ref": "MARKET_VALUE", "op": "gt", "value": 0 } },
            { "edit_id": "COND-REQ-99", "type": "conditional_required", "schedule": "S.L", "description": "Malformed: a conditional rule carrying no when predicate.", "severity": "fatal", "ref": "MATURITY_BUCKET" },
            { "edit_id": "COND-ENUM-98", "type": "enum_membership", "schedule": "S.L", "description": "Malformed: a predicate using an operator the evaluator does not define.", "severity": "warning", "ref": "COLLATERAL_CLASS", "allowed_values": ["A-1-Q"], "when": { "ref": "PRODUCT", "op": "matches", "value": "S.L.*" } }
          ]
        },
        "suppressions": []
      },
      "output_payload": {
        "rule_set_version": "SYNTHETIC-COND-1",
        "rule_set_source": "Synthetic conditional-shape vectors for the evaluator itself; carries no published rule content.",
        "suppressions_applied": [],
        "stale_suppressions": [],
        "findings": [
          { "edit_id": "COND-ENUM-01", "type": "enum_membership", "schedule": "S.L", "severity": "fatal", "description": "Collateral class is a member of the permitted class list.", "status": "fail", "computed_value": null, "reported_value": "Z-9-Q", "message": "COLLATERAL_CLASS (\"Z-9-Q\") is not a member of the permitted values [\"A-1-Q\", \"A-2-Q\", \"A-3-Q\"].", "cav": "validity" },
          { "edit_id": "COND-REQ-01", "type": "conditional_required", "schedule": "S.L", "severity": "fatal", "description": "Sub-product is reported on secured lending lines.", "status": "fail", "computed_value": null, "reported_value": "", "message": "SUB_PRODUCT is required when PRODUCT in [\"S.L.1\", \"S.L.2\"], and is present but empty/null.", "cav": "completeness" },
          { "edit_id": "COND-PRO-01", "type": "conditional_prohibited", "schedule": "S.L", "severity": "fatal", "description": "Counterparty is not reported as Not Applicable where a market value is reported.", "status": "fail", "computed_value": null, "reported_value": "Not Applicable", "message": "COUNTERPARTY (\"Not Applicable\") is prohibited when MARKET_VALUE > 0; prohibited values are [\"Not Applicable\", \"N/A\"].", "cav": "validity" },
          { "edit_id": "COND-REQ-99", "type": "conditional_required", "schedule": "S.L", "severity": "fatal", "description": "Malformed: a conditional rule carrying no when predicate.", "status": "fail", "computed_value": null, "reported_value": null, "message": "Rule cannot be evaluated: rule declares no \"when\" predicate.", "cav": "completeness" },
          { "edit_id": "COND-ENUM-98", "type": "enum_membership", "schedule": "S.L", "severity": "warning", "description": "Malformed: a predicate using an operator the evaluator does not define.", "status": "fail", "computed_value": null, "reported_value": null, "message": "Rule cannot be evaluated: unknown predicate op \"matches\".", "cav": "validity" }
        ],
        "summary": { "total_rules": 5, "applied": 5, "suppressed": 0, "pass": 0, "fail": 5, "stale_suppression_count": 0, "overall_pass": false },
        "compliance_flags": ["EDIT_CHECK_FAILED:COND-ENUM-01", "EDIT_CHECK_FAILED:COND-REQ-01", "EDIT_CHECK_FAILED:COND-PRO-01", "EDIT_CHECK_FAILED:COND-REQ-99", "RULE_PREDICATE_INVALID", "EDIT_CHECK_FAILED:COND-ENUM-98"],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "14d617b48a8f8c7257949f3de6a9c80c2d3e1dffd05aabab82b93e54a30ef469"
    },
{
      "name": "fr2052a-appendix-clean-pass",
      "description": "Inflows - Assets, PID 4 (Restricted Reserve Balances / I.A.4): a correctly-reported row satisfying every applicable II-a/II-c/II-d rule; all other rules are not-applicable to this Table/PID and pass as such. FR 2052a Appendix II-a/II-b/II-c/II-d rule set (FR2052A-DEPTH-BUILD-SPEC.md Sec3.2/Sec8, FR2052A-RULESET-1), expressed against art-484's enum_membership/conditional_required/conditional_prohibited shapes. Synthetic report-instance cells; rule citations and enumerated values are transcribed verbatim from the current bundle's Appendix II-a (p.86-87), II-b (p.88-89), II-c (p.91-92), II-d (p.95). Appendix II-c 'Not Applicable' rows and the full closed Collateral Class code list are deliberately NOT encoded here: neither appears as an enumerated value list in the current bundle's II-c table (Required/Dependent/Not Applicable columns only), and the evaluator's conditional_prohibited shape checks value membership, not field absence, so a Collateral-Class-must-be-absent rule cannot be expressed without inventing a maintained code list this estate does not otherwise carry. No firm-supplied FR 2052a data; no coverage percentage or completeness claim.",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-06-30",
          "cells": [
            { "cell_ref": "TABLE", "schedule": "I.A", "value": "Inflows - Assets" },
            { "cell_ref": "PID", "schedule": "I.A", "value": 4 },
            { "cell_ref": "PRODUCT_CODE", "schedule": "I.A", "value": "I.A.4" },
            { "cell_ref": "PRODUCT", "schedule": "I.A", "value": "Restricted Reserve Balances" },
            { "cell_ref": "SUB_PRODUCT", "schedule": "I.A", "value": "Bank of Canada" },
            { "cell_ref": "COLLATERAL_CLASS", "schedule": "I.A", "value": "Level 1" }
          ]
        },
        "rule_set": {
          "version": "FR2052a-2025-02-26",
          "source": "https://www.federalreserve.gov/apps/reportingforms/Report/Index/FR_2052a (FR 2052a Complex Institution Liquidity Monitoring Report instructions, bundle labeled \"Current\", last updated February 26, 2025)",
          "rules": [
            { "edit_id": "FR2052A-IIA-1", "type": "enum_membership", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Assets, PID 4 (Restricted Reserve Balances) -- Sub-Product must be one of the published central-bank/currency values.", "ref": "SUB_PRODUCT", "allowed_values": ["Federal Reserve Bank", "Swiss National Bank", "Bank of England", "European Central Bank", "Bank of Japan", "Reserve Bank of Australia", "Bank of Canada", "Other Central Bank", "Currency and Coin"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Assets" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-2", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86) lead sentence: this Table/PID requires the reporting of a Sub-Product.", "ref": "SUB_PRODUCT", "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Assets" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-3", "type": "enum_membership", "schedule": "Inflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Secured, PID 4 (Collateral Swaps) -- Sub-Product must be a published pledged-collateral value.", "ref": "SUB_PRODUCT", "allowed_values": ["Level 1 Pledged", "Level 2a Pledged", "Level 2b Pledged", "Non-HQLA Pledged", "No Collateral Pledged"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Secured" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-4", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Outflows - Secured, PID 4 (Collateral Swaps) -- mirror-image received-collateral Sub-Product values.", "ref": "SUB_PRODUCT", "allowed_values": ["Level 1 Received", "Level 2a Received", "Level 2b Received", "Non-HQLA Received", "No Collateral Received"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Secured" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-5", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.87): Outflows - Secured, PID 7/8 (Customer Shorts / Firm Shorts) -- Sub-Product must be a published value.", "ref": "SUB_PRODUCT", "allowed_values": ["External Cash Transactions", "External Non-Cash Transactions", "Firm Longs", "Customer Longs", "Unsettled - Regular Way", "Unsettled - Forward"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Secured" }, { "ref": "PID", "op": "in", "values": [7, 8] }] } },
            { "edit_id": "FR2052A-IIB-1", "type": "conditional_required", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Inflows - Unsecured, PID 5/6 (Outstanding Draws on Unsecured Revolving Facilities / Other Loans) require the Counterparty field.", "ref": "COUNTERPARTY", "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-2", "type": "enum_membership", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "ref": "COUNTERPARTY", "allowed_values": ["Retail", "Small Business", "Non-Financial Corporate"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-3", "type": "conditional_prohibited", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Not Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "ref": "COUNTERPARTY", "forbidden_values": ["Municipalities for VRDN Structures"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-4", "type": "conditional_prohibited", "schedule": "Outflows - Deposits", "severity": "fatal", "description": "Appendix II-b (p.89): Not Applicable Counterparty Values column for Outflows - Deposits, PID 1 (Transactional Accounts).", "ref": "COUNTERPARTY", "forbidden_values": ["Debt Issuing Special Purpose Entity", "Municipalities for VRDN Structures", "Non-Financial Corporate", "Sovereign", "Central Bank", "Government Sponsored Entity", "Public Sector Entity", "Multilateral Development Bank", "Other Supranational", "Pension Fund", "Bank", "Broker-Dealer", "Investment Company or Advisor", "Financial Market Utility", "Other Supervised Non-Bank Financial Entity", "Non-Regulated Fund", "Other"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Deposits" }, { "ref": "PID", "op": "equals", "value": 1 }] } },
            { "edit_id": "FR2052A-IIC-1", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.A.4 (Restricted Reserve Balances) -- Collateral Class Required.", "ref": "COLLATERAL_CLASS", "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "I.A.4" } },
            { "edit_id": "FR2052A-IIC-2", "type": "conditional_required", "schedule": "Inflows - Other", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.O.4 (Undrawn Committed Facilities Purchased) -- Collateral Class Dependent: required only when collateral has been, or would need to be, posted or received.", "ref": "COLLATERAL_CLASS", "when": { "all_of": [{ "ref": "PRODUCT_CODE", "op": "equals", "value": "I.O.4" }, { "ref": "COLLATERAL_POSTED", "op": "equals", "value": true }] } },
            { "edit_id": "FR2052A-IIC-3", "type": "conditional_required", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-c (p.92): PID O.S.8 (Firm Shorts) -- Collateral Class Required.", "ref": "COLLATERAL_CLASS", "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "O.S.8" } },
            { "edit_id": "FR2052A-IID-1", "type": "conditional_prohibited", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-d (p.95): PID I.A.4 (Restricted Reserve Balances) must not be assigned a Forward Start Bucket or Forward Start Amount value. Represented here as a boolean 'assigned' indicator; the actual bucket/amount enumerations are Appendix IV-a's list, already shipped as art-437's boundary table (FR2052A-DEPTH-BUILD-SPEC.md Sec2), not duplicated in this fixture.", "ref": "FORWARD_START_ASSIGNED", "forbidden_values": [true], "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "I.A.4" } },
            { "edit_id": "FR2052A-IID-2", "type": "conditional_prohibited", "schedule": "Outflows - Wholesale", "severity": "fatal", "description": "Appendix II-d (p.95): PID O.W.18 (Free Credits) must not be assigned a Forward Start Bucket or Forward Start Amount value.", "ref": "FORWARD_START_ASSIGNED", "forbidden_values": [true], "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "O.W.18" } }
          ]
        },
        "suppressions": []
      },
      "output_payload": {
        "rule_set_version": "FR2052a-2025-02-26",
        "rule_set_source": "https://www.federalreserve.gov/apps/reportingforms/Report/Index/FR_2052a (FR 2052a Complex Institution Liquidity Monitoring Report instructions, bundle labeled \"Current\", last updated February 26, 2025)",
        "suppressions_applied": [],
        "stale_suppressions": [],
        "findings": [
          { "edit_id": "FR2052A-IIA-1", "type": "enum_membership", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Assets, PID 4 (Restricted Reserve Balances) -- Sub-Product must be one of the published central-bank/currency values.", "status": "pass", "computed_value": null, "reported_value": "Bank of Canada", "message": "SUB_PRODUCT (\"Bank of Canada\") is a member of the permitted values [\"Federal Reserve Bank\", \"Swiss National Bank\", \"Bank of England\", \"European Central Bank\", \"Bank of Japan\", \"Reserve Bank of Australia\", \"Bank of Canada\", \"Other Central Bank\", \"Currency and Coin\"].", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-2", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86) lead sentence: this Table/PID requires the reporting of a Sub-Product.", "status": "pass", "computed_value": null, "reported_value": "Bank of Canada", "message": "SUB_PRODUCT is required when all of (TABLE == \"Inflows - Assets\"; PID == 4), and is present and non-empty.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIA-3", "type": "enum_membership", "schedule": "Inflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Secured, PID 4 (Collateral Swaps) -- Sub-Product must be a published pledged-collateral value.", "status": "pass", "computed_value": null, "reported_value": "Bank of Canada", "message": "Not applicable: condition (all of (TABLE == \"Inflows - Secured\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-4", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Outflows - Secured, PID 4 (Collateral Swaps) -- mirror-image received-collateral Sub-Product values.", "status": "pass", "computed_value": null, "reported_value": "Bank of Canada", "message": "Not applicable: condition (all of (TABLE == \"Outflows - Secured\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-5", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.87): Outflows - Secured, PID 7/8 (Customer Shorts / Firm Shorts) -- Sub-Product must be a published value.", "status": "pass", "computed_value": null, "reported_value": "Bank of Canada", "message": "Not applicable: condition (all of (TABLE == \"Outflows - Secured\"; PID in [7, 8])) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-1", "type": "conditional_required", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Inflows - Unsecured, PID 5/6 (Outstanding Draws on Unsecured Revolving Facilities / Other Loans) require the Counterparty field.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6])) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIB-2", "type": "enum_membership", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6])) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-3", "type": "conditional_prohibited", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Not Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6])) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-4", "type": "conditional_prohibited", "schedule": "Outflows - Deposits", "severity": "fatal", "description": "Appendix II-b (p.89): Not Applicable Counterparty Values column for Outflows - Deposits, PID 1 (Transactional Accounts).", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Outflows - Deposits\"; PID == 1)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIC-1", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.A.4 (Restricted Reserve Balances) -- Collateral Class Required.", "status": "pass", "computed_value": null, "reported_value": "Level 1", "message": "COLLATERAL_CLASS is required when PRODUCT_CODE == \"I.A.4\", and is present and non-empty.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIC-2", "type": "conditional_required", "schedule": "Inflows - Other", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.O.4 (Undrawn Committed Facilities Purchased) -- Collateral Class Dependent: required only when collateral has been, or would need to be, posted or received.", "status": "pass", "computed_value": null, "reported_value": "Level 1", "message": "Not applicable: condition (all of (PRODUCT_CODE == \"I.O.4\"; COLLATERAL_POSTED == true)) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIC-3", "type": "conditional_required", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-c (p.92): PID O.S.8 (Firm Shorts) -- Collateral Class Required.", "status": "pass", "computed_value": null, "reported_value": "Level 1", "message": "Not applicable: condition (PRODUCT_CODE == \"O.S.8\") does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IID-1", "type": "conditional_prohibited", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-d (p.95): PID I.A.4 (Restricted Reserve Balances) must not be assigned a Forward Start Bucket or Forward Start Amount value. Represented here as a boolean 'assigned' indicator; the actual bucket/amount enumerations are Appendix IV-a's list, already shipped as art-437's boundary table (FR2052A-DEPTH-BUILD-SPEC.md Sec2), not duplicated in this fixture.", "status": "pass", "computed_value": null, "reported_value": null, "message": "FORWARD_START_ASSIGNED reports no value when PRODUCT_CODE == \"I.A.4\", so no prohibited value is present.", "cav": "validity" },
          { "edit_id": "FR2052A-IID-2", "type": "conditional_prohibited", "schedule": "Outflows - Wholesale", "severity": "fatal", "description": "Appendix II-d (p.95): PID O.W.18 (Free Credits) must not be assigned a Forward Start Bucket or Forward Start Amount value.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"O.W.18\") does not hold for this row.", "cav": "validity" }
        ],
        "summary": {"total_rules":14,"applied":14,"suppressed":0,"pass":14,"fail":0,"stale_suppression_count":0,"overall_pass":true},
        "compliance_flags": [],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "b17cb06c56b1f639256187158881965e80a77965961e8eabc74589338dc5ef1a"
    },
{
      "name": "fr2052a-appendix-failures-suppressed-and-stale",
      "description": "Outflows - Secured, PID 8 (Firm Shorts / O.S.8): an invalid Sub-Product (suppressed) and a missing required Collateral Class (not suppressed, fails), plus a stale suppression naming an edit_id absent from the rule set. FR 2052a Appendix II-a/II-b/II-c/II-d rule set (FR2052A-DEPTH-BUILD-SPEC.md Sec3.2/Sec8, FR2052A-RULESET-1), expressed against art-484's enum_membership/conditional_required/conditional_prohibited shapes. Synthetic report-instance cells; rule citations and enumerated values are transcribed verbatim from the current bundle's Appendix II-a (p.86-87), II-b (p.88-89), II-c (p.91-92), II-d (p.95). Appendix II-c 'Not Applicable' rows and the full closed Collateral Class code list are deliberately NOT encoded here: neither appears as an enumerated value list in the current bundle's II-c table (Required/Dependent/Not Applicable columns only), and the evaluator's conditional_prohibited shape checks value membership, not field absence, so a Collateral-Class-must-be-absent rule cannot be expressed without inventing a maintained code list this estate does not otherwise carry. No firm-supplied FR 2052a data; no coverage percentage or completeness claim.",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-06-30",
          "cells": [
            { "cell_ref": "TABLE", "schedule": "O.S", "value": "Outflows - Secured" },
            { "cell_ref": "PID", "schedule": "O.S", "value": 8 },
            { "cell_ref": "PRODUCT_CODE", "schedule": "O.S", "value": "O.S.8" },
            { "cell_ref": "PRODUCT", "schedule": "O.S", "value": "Firm Shorts" },
            { "cell_ref": "SUB_PRODUCT", "schedule": "O.S", "value": "Repo Confirmation" }
          ]
        },
        "rule_set": {
          "version": "FR2052a-2025-02-26",
          "source": "https://www.federalreserve.gov/apps/reportingforms/Report/Index/FR_2052a (FR 2052a Complex Institution Liquidity Monitoring Report instructions, bundle labeled \"Current\", last updated February 26, 2025)",
          "rules": [
            { "edit_id": "FR2052A-IIA-1", "type": "enum_membership", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Assets, PID 4 (Restricted Reserve Balances) -- Sub-Product must be one of the published central-bank/currency values.", "ref": "SUB_PRODUCT", "allowed_values": ["Federal Reserve Bank", "Swiss National Bank", "Bank of England", "European Central Bank", "Bank of Japan", "Reserve Bank of Australia", "Bank of Canada", "Other Central Bank", "Currency and Coin"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Assets" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-2", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86) lead sentence: this Table/PID requires the reporting of a Sub-Product.", "ref": "SUB_PRODUCT", "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Assets" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-3", "type": "enum_membership", "schedule": "Inflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Secured, PID 4 (Collateral Swaps) -- Sub-Product must be a published pledged-collateral value.", "ref": "SUB_PRODUCT", "allowed_values": ["Level 1 Pledged", "Level 2a Pledged", "Level 2b Pledged", "Non-HQLA Pledged", "No Collateral Pledged"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Secured" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-4", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Outflows - Secured, PID 4 (Collateral Swaps) -- mirror-image received-collateral Sub-Product values.", "ref": "SUB_PRODUCT", "allowed_values": ["Level 1 Received", "Level 2a Received", "Level 2b Received", "Non-HQLA Received", "No Collateral Received"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Secured" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-5", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.87): Outflows - Secured, PID 7/8 (Customer Shorts / Firm Shorts) -- Sub-Product must be a published value.", "ref": "SUB_PRODUCT", "allowed_values": ["External Cash Transactions", "External Non-Cash Transactions", "Firm Longs", "Customer Longs", "Unsettled - Regular Way", "Unsettled - Forward"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Secured" }, { "ref": "PID", "op": "in", "values": [7, 8] }] } },
            { "edit_id": "FR2052A-IIB-1", "type": "conditional_required", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Inflows - Unsecured, PID 5/6 (Outstanding Draws on Unsecured Revolving Facilities / Other Loans) require the Counterparty field.", "ref": "COUNTERPARTY", "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-2", "type": "enum_membership", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "ref": "COUNTERPARTY", "allowed_values": ["Retail", "Small Business", "Non-Financial Corporate"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-3", "type": "conditional_prohibited", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Not Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "ref": "COUNTERPARTY", "forbidden_values": ["Municipalities for VRDN Structures"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-4", "type": "conditional_prohibited", "schedule": "Outflows - Deposits", "severity": "fatal", "description": "Appendix II-b (p.89): Not Applicable Counterparty Values column for Outflows - Deposits, PID 1 (Transactional Accounts).", "ref": "COUNTERPARTY", "forbidden_values": ["Debt Issuing Special Purpose Entity", "Municipalities for VRDN Structures", "Non-Financial Corporate", "Sovereign", "Central Bank", "Government Sponsored Entity", "Public Sector Entity", "Multilateral Development Bank", "Other Supranational", "Pension Fund", "Bank", "Broker-Dealer", "Investment Company or Advisor", "Financial Market Utility", "Other Supervised Non-Bank Financial Entity", "Non-Regulated Fund", "Other"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Deposits" }, { "ref": "PID", "op": "equals", "value": 1 }] } },
            { "edit_id": "FR2052A-IIC-1", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.A.4 (Restricted Reserve Balances) -- Collateral Class Required.", "ref": "COLLATERAL_CLASS", "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "I.A.4" } },
            { "edit_id": "FR2052A-IIC-2", "type": "conditional_required", "schedule": "Inflows - Other", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.O.4 (Undrawn Committed Facilities Purchased) -- Collateral Class Dependent: required only when collateral has been, or would need to be, posted or received.", "ref": "COLLATERAL_CLASS", "when": { "all_of": [{ "ref": "PRODUCT_CODE", "op": "equals", "value": "I.O.4" }, { "ref": "COLLATERAL_POSTED", "op": "equals", "value": true }] } },
            { "edit_id": "FR2052A-IIC-3", "type": "conditional_required", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-c (p.92): PID O.S.8 (Firm Shorts) -- Collateral Class Required.", "ref": "COLLATERAL_CLASS", "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "O.S.8" } },
            { "edit_id": "FR2052A-IID-1", "type": "conditional_prohibited", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-d (p.95): PID I.A.4 (Restricted Reserve Balances) must not be assigned a Forward Start Bucket or Forward Start Amount value. Represented here as a boolean 'assigned' indicator; the actual bucket/amount enumerations are Appendix IV-a's list, already shipped as art-437's boundary table (FR2052A-DEPTH-BUILD-SPEC.md Sec2), not duplicated in this fixture.", "ref": "FORWARD_START_ASSIGNED", "forbidden_values": [true], "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "I.A.4" } },
            { "edit_id": "FR2052A-IID-2", "type": "conditional_prohibited", "schedule": "Outflows - Wholesale", "severity": "fatal", "description": "Appendix II-d (p.95): PID O.W.18 (Free Credits) must not be assigned a Forward Start Bucket or Forward Start Amount value.", "ref": "FORWARD_START_ASSIGNED", "forbidden_values": [true], "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "O.W.18" } }
          ]
        },
        "suppressions": [
          { "edit_id": "FR2052A-IIA-5", "reason": "Known data-quality remediation in progress for this filer; tracked separately." },
          { "edit_id": "FR2052A-IIA-99", "reason": "No longer present in the current rule set version." }
        ]
      },
      "output_payload": {
        "rule_set_version": "FR2052a-2025-02-26",
        "rule_set_source": "https://www.federalreserve.gov/apps/reportingforms/Report/Index/FR_2052a (FR 2052a Complex Institution Liquidity Monitoring Report instructions, bundle labeled \"Current\", last updated February 26, 2025)",
        "suppressions_applied": [
          { "edit_id": "FR2052A-IIA-5", "reason": "Known data-quality remediation in progress for this filer; tracked separately." },
          { "edit_id": "FR2052A-IIA-99", "reason": "No longer present in the current rule set version." }
        ],
        "stale_suppressions": ["FR2052A-IIA-99"],
        "findings": [
          { "edit_id": "FR2052A-IIA-1", "type": "enum_membership", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Assets, PID 4 (Restricted Reserve Balances) -- Sub-Product must be one of the published central-bank/currency values.", "status": "pass", "computed_value": null, "reported_value": "Repo Confirmation", "message": "Not applicable: condition (all of (TABLE == \"Inflows - Assets\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-2", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86) lead sentence: this Table/PID requires the reporting of a Sub-Product.", "status": "pass", "computed_value": null, "reported_value": "Repo Confirmation", "message": "Not applicable: condition (all of (TABLE == \"Inflows - Assets\"; PID == 4)) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIA-3", "type": "enum_membership", "schedule": "Inflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Secured, PID 4 (Collateral Swaps) -- Sub-Product must be a published pledged-collateral value.", "status": "pass", "computed_value": null, "reported_value": "Repo Confirmation", "message": "Not applicable: condition (all of (TABLE == \"Inflows - Secured\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-4", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Outflows - Secured, PID 4 (Collateral Swaps) -- mirror-image received-collateral Sub-Product values.", "status": "pass", "computed_value": null, "reported_value": "Repo Confirmation", "message": "Not applicable: condition (all of (TABLE == \"Outflows - Secured\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-5", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.87): Outflows - Secured, PID 7/8 (Customer Shorts / Firm Shorts) -- Sub-Product must be a published value.", "status": "suppressed", "computed_value": null, "reported_value": null, "message": "Suppressed: Known data-quality remediation in progress for this filer; tracked separately." },
          { "edit_id": "FR2052A-IIB-1", "type": "conditional_required", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Inflows - Unsecured, PID 5/6 (Outstanding Draws on Unsecured Revolving Facilities / Other Loans) require the Counterparty field.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6])) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIB-2", "type": "enum_membership", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6])) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-3", "type": "conditional_prohibited", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Not Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6])) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-4", "type": "conditional_prohibited", "schedule": "Outflows - Deposits", "severity": "fatal", "description": "Appendix II-b (p.89): Not Applicable Counterparty Values column for Outflows - Deposits, PID 1 (Transactional Accounts).", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Outflows - Deposits\"; PID == 1)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIC-1", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.A.4 (Restricted Reserve Balances) -- Collateral Class Required.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"I.A.4\") does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIC-2", "type": "conditional_required", "schedule": "Inflows - Other", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.O.4 (Undrawn Committed Facilities Purchased) -- Collateral Class Dependent: required only when collateral has been, or would need to be, posted or received.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (PRODUCT_CODE == \"I.O.4\"; COLLATERAL_POSTED == true)) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIC-3", "type": "conditional_required", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-c (p.92): PID O.S.8 (Firm Shorts) -- Collateral Class Required.", "status": "fail", "computed_value": null, "reported_value": null, "message": "COLLATERAL_CLASS is required when PRODUCT_CODE == \"O.S.8\", and is not present in the report instance.", "cav": "completeness" },
          { "edit_id": "FR2052A-IID-1", "type": "conditional_prohibited", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-d (p.95): PID I.A.4 (Restricted Reserve Balances) must not be assigned a Forward Start Bucket or Forward Start Amount value. Represented here as a boolean 'assigned' indicator; the actual bucket/amount enumerations are Appendix IV-a's list, already shipped as art-437's boundary table (FR2052A-DEPTH-BUILD-SPEC.md Sec2), not duplicated in this fixture.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"I.A.4\") does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IID-2", "type": "conditional_prohibited", "schedule": "Outflows - Wholesale", "severity": "fatal", "description": "Appendix II-d (p.95): PID O.W.18 (Free Credits) must not be assigned a Forward Start Bucket or Forward Start Amount value.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"O.W.18\") does not hold for this row.", "cav": "validity" }
        ],
        "summary": {"total_rules":14,"applied":13,"suppressed":1,"pass":12,"fail":1,"stale_suppression_count":1,"overall_pass":false},
        "compliance_flags": ["EDIT_CHECK_FAILED:FR2052A-IIC-3","STALE_SUPPRESSION_LIST"],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "299d18f5d7ae6d90e04ede7e74ed6e74092973e06336d4e63b32b94227e335d4"
    },
{
      "name": "fr2052a-appendix-iib-counterparty-fail",
      "description": "Inflows - Unsecured, PID 5 (Outstanding Draws on Unsecured Revolving Facilities / I.U.5): Counterparty is present (satisfying the conditional_required rule) but reports a value that is both absent from the Applicable Counterparty Values list and present on the Not Applicable Counterparty Values list -- both II-b checks fail independently. FR 2052a Appendix II-a/II-b/II-c/II-d rule set (FR2052A-DEPTH-BUILD-SPEC.md Sec3.2/Sec8, FR2052A-RULESET-1), expressed against art-484's enum_membership/conditional_required/conditional_prohibited shapes. Synthetic report-instance cells; rule citations and enumerated values are transcribed verbatim from the current bundle's Appendix II-a (p.86-87), II-b (p.88-89), II-c (p.91-92), II-d (p.95). Appendix II-c 'Not Applicable' rows and the full closed Collateral Class code list are deliberately NOT encoded here: neither appears as an enumerated value list in the current bundle's II-c table (Required/Dependent/Not Applicable columns only), and the evaluator's conditional_prohibited shape checks value membership, not field absence, so a Collateral-Class-must-be-absent rule cannot be expressed without inventing a maintained code list this estate does not otherwise carry. No firm-supplied FR 2052a data; no coverage percentage or completeness claim.",
      "policy_parameters": {
        "report_instance": {
          "as_of": "2026-06-30",
          "cells": [
            { "cell_ref": "TABLE", "schedule": "I.U", "value": "Inflows - Unsecured" },
            { "cell_ref": "PID", "schedule": "I.U", "value": 5 },
            { "cell_ref": "PRODUCT_CODE", "schedule": "I.U", "value": "I.U.5" },
            { "cell_ref": "PRODUCT", "schedule": "I.U", "value": "Outstanding Draws on Unsecured Revolving Facilities" },
            { "cell_ref": "COUNTERPARTY", "schedule": "I.U", "value": "Municipalities for VRDN Structures" }
          ]
        },
        "rule_set": {
          "version": "FR2052a-2025-02-26",
          "source": "https://www.federalreserve.gov/apps/reportingforms/Report/Index/FR_2052a (FR 2052a Complex Institution Liquidity Monitoring Report instructions, bundle labeled \"Current\", last updated February 26, 2025)",
          "rules": [
            { "edit_id": "FR2052A-IIA-1", "type": "enum_membership", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Assets, PID 4 (Restricted Reserve Balances) -- Sub-Product must be one of the published central-bank/currency values.", "ref": "SUB_PRODUCT", "allowed_values": ["Federal Reserve Bank", "Swiss National Bank", "Bank of England", "European Central Bank", "Bank of Japan", "Reserve Bank of Australia", "Bank of Canada", "Other Central Bank", "Currency and Coin"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Assets" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-2", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86) lead sentence: this Table/PID requires the reporting of a Sub-Product.", "ref": "SUB_PRODUCT", "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Assets" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-3", "type": "enum_membership", "schedule": "Inflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Secured, PID 4 (Collateral Swaps) -- Sub-Product must be a published pledged-collateral value.", "ref": "SUB_PRODUCT", "allowed_values": ["Level 1 Pledged", "Level 2a Pledged", "Level 2b Pledged", "Non-HQLA Pledged", "No Collateral Pledged"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Secured" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-4", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Outflows - Secured, PID 4 (Collateral Swaps) -- mirror-image received-collateral Sub-Product values.", "ref": "SUB_PRODUCT", "allowed_values": ["Level 1 Received", "Level 2a Received", "Level 2b Received", "Non-HQLA Received", "No Collateral Received"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Secured" }, { "ref": "PID", "op": "equals", "value": 4 }] } },
            { "edit_id": "FR2052A-IIA-5", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.87): Outflows - Secured, PID 7/8 (Customer Shorts / Firm Shorts) -- Sub-Product must be a published value.", "ref": "SUB_PRODUCT", "allowed_values": ["External Cash Transactions", "External Non-Cash Transactions", "Firm Longs", "Customer Longs", "Unsettled - Regular Way", "Unsettled - Forward"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Secured" }, { "ref": "PID", "op": "in", "values": [7, 8] }] } },
            { "edit_id": "FR2052A-IIB-1", "type": "conditional_required", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Inflows - Unsecured, PID 5/6 (Outstanding Draws on Unsecured Revolving Facilities / Other Loans) require the Counterparty field.", "ref": "COUNTERPARTY", "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-2", "type": "enum_membership", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "ref": "COUNTERPARTY", "allowed_values": ["Retail", "Small Business", "Non-Financial Corporate"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-3", "type": "conditional_prohibited", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Not Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "ref": "COUNTERPARTY", "forbidden_values": ["Municipalities for VRDN Structures"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Inflows - Unsecured" }, { "ref": "PID", "op": "in", "values": [5, 6] }] } },
            { "edit_id": "FR2052A-IIB-4", "type": "conditional_prohibited", "schedule": "Outflows - Deposits", "severity": "fatal", "description": "Appendix II-b (p.89): Not Applicable Counterparty Values column for Outflows - Deposits, PID 1 (Transactional Accounts).", "ref": "COUNTERPARTY", "forbidden_values": ["Debt Issuing Special Purpose Entity", "Municipalities for VRDN Structures", "Non-Financial Corporate", "Sovereign", "Central Bank", "Government Sponsored Entity", "Public Sector Entity", "Multilateral Development Bank", "Other Supranational", "Pension Fund", "Bank", "Broker-Dealer", "Investment Company or Advisor", "Financial Market Utility", "Other Supervised Non-Bank Financial Entity", "Non-Regulated Fund", "Other"], "when": { "all_of": [{ "ref": "TABLE", "op": "equals", "value": "Outflows - Deposits" }, { "ref": "PID", "op": "equals", "value": 1 }] } },
            { "edit_id": "FR2052A-IIC-1", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.A.4 (Restricted Reserve Balances) -- Collateral Class Required.", "ref": "COLLATERAL_CLASS", "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "I.A.4" } },
            { "edit_id": "FR2052A-IIC-2", "type": "conditional_required", "schedule": "Inflows - Other", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.O.4 (Undrawn Committed Facilities Purchased) -- Collateral Class Dependent: required only when collateral has been, or would need to be, posted or received.", "ref": "COLLATERAL_CLASS", "when": { "all_of": [{ "ref": "PRODUCT_CODE", "op": "equals", "value": "I.O.4" }, { "ref": "COLLATERAL_POSTED", "op": "equals", "value": true }] } },
            { "edit_id": "FR2052A-IIC-3", "type": "conditional_required", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-c (p.92): PID O.S.8 (Firm Shorts) -- Collateral Class Required.", "ref": "COLLATERAL_CLASS", "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "O.S.8" } },
            { "edit_id": "FR2052A-IID-1", "type": "conditional_prohibited", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-d (p.95): PID I.A.4 (Restricted Reserve Balances) must not be assigned a Forward Start Bucket or Forward Start Amount value. Represented here as a boolean 'assigned' indicator; the actual bucket/amount enumerations are Appendix IV-a's list, already shipped as art-437's boundary table (FR2052A-DEPTH-BUILD-SPEC.md Sec2), not duplicated in this fixture.", "ref": "FORWARD_START_ASSIGNED", "forbidden_values": [true], "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "I.A.4" } },
            { "edit_id": "FR2052A-IID-2", "type": "conditional_prohibited", "schedule": "Outflows - Wholesale", "severity": "fatal", "description": "Appendix II-d (p.95): PID O.W.18 (Free Credits) must not be assigned a Forward Start Bucket or Forward Start Amount value.", "ref": "FORWARD_START_ASSIGNED", "forbidden_values": [true], "when": { "ref": "PRODUCT_CODE", "op": "equals", "value": "O.W.18" } }
          ]
        },
        "suppressions": []
      },
      "output_payload": {
        "rule_set_version": "FR2052a-2025-02-26",
        "rule_set_source": "https://www.federalreserve.gov/apps/reportingforms/Report/Index/FR_2052a (FR 2052a Complex Institution Liquidity Monitoring Report instructions, bundle labeled \"Current\", last updated February 26, 2025)",
        "suppressions_applied": [],
        "stale_suppressions": [],
        "findings": [
          { "edit_id": "FR2052A-IIA-1", "type": "enum_membership", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Assets, PID 4 (Restricted Reserve Balances) -- Sub-Product must be one of the published central-bank/currency values.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Assets\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-2", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-a (p.86) lead sentence: this Table/PID requires the reporting of a Sub-Product.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Assets\"; PID == 4)) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIA-3", "type": "enum_membership", "schedule": "Inflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Inflows - Secured, PID 4 (Collateral Swaps) -- Sub-Product must be a published pledged-collateral value.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Inflows - Secured\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-4", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.86): Outflows - Secured, PID 4 (Collateral Swaps) -- mirror-image received-collateral Sub-Product values.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Outflows - Secured\"; PID == 4)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIA-5", "type": "enum_membership", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-a (p.87): Outflows - Secured, PID 7/8 (Customer Shorts / Firm Shorts) -- Sub-Product must be a published value.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (TABLE == \"Outflows - Secured\"; PID in [7, 8])) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-1", "type": "conditional_required", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Inflows - Unsecured, PID 5/6 (Outstanding Draws on Unsecured Revolving Facilities / Other Loans) require the Counterparty field.", "status": "pass", "computed_value": null, "reported_value": "Municipalities for VRDN Structures", "message": "COUNTERPARTY is required when all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6]), and is present and non-empty.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIB-2", "type": "enum_membership", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "status": "fail", "computed_value": null, "reported_value": "Municipalities for VRDN Structures", "message": "COUNTERPARTY (\"Municipalities for VRDN Structures\") is not a member of the permitted values [\"Retail\", \"Small Business\", \"Non-Financial Corporate\"].", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-3", "type": "conditional_prohibited", "schedule": "Inflows - Unsecured", "severity": "fatal", "description": "Appendix II-b (p.88): Not Applicable Counterparty Values column for Inflows - Unsecured, PID 5/6.", "status": "fail", "computed_value": null, "reported_value": "Municipalities for VRDN Structures", "message": "COUNTERPARTY (\"Municipalities for VRDN Structures\") is prohibited when all of (TABLE == \"Inflows - Unsecured\"; PID in [5, 6]); prohibited values are [\"Municipalities for VRDN Structures\"].", "cav": "validity" },
          { "edit_id": "FR2052A-IIB-4", "type": "conditional_prohibited", "schedule": "Outflows - Deposits", "severity": "fatal", "description": "Appendix II-b (p.89): Not Applicable Counterparty Values column for Outflows - Deposits, PID 1 (Transactional Accounts).", "status": "pass", "computed_value": null, "reported_value": "Municipalities for VRDN Structures", "message": "Not applicable: condition (all of (TABLE == \"Outflows - Deposits\"; PID == 1)) does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IIC-1", "type": "conditional_required", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.A.4 (Restricted Reserve Balances) -- Collateral Class Required.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"I.A.4\") does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIC-2", "type": "conditional_required", "schedule": "Inflows - Other", "severity": "fatal", "description": "Appendix II-c (p.91): PID I.O.4 (Undrawn Committed Facilities Purchased) -- Collateral Class Dependent: required only when collateral has been, or would need to be, posted or received.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (all of (PRODUCT_CODE == \"I.O.4\"; COLLATERAL_POSTED == true)) does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IIC-3", "type": "conditional_required", "schedule": "Outflows - Secured", "severity": "fatal", "description": "Appendix II-c (p.92): PID O.S.8 (Firm Shorts) -- Collateral Class Required.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"O.S.8\") does not hold for this row.", "cav": "completeness" },
          { "edit_id": "FR2052A-IID-1", "type": "conditional_prohibited", "schedule": "Inflows - Assets", "severity": "fatal", "description": "Appendix II-d (p.95): PID I.A.4 (Restricted Reserve Balances) must not be assigned a Forward Start Bucket or Forward Start Amount value. Represented here as a boolean 'assigned' indicator; the actual bucket/amount enumerations are Appendix IV-a's list, already shipped as art-437's boundary table (FR2052A-DEPTH-BUILD-SPEC.md Sec2), not duplicated in this fixture.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"I.A.4\") does not hold for this row.", "cav": "validity" },
          { "edit_id": "FR2052A-IID-2", "type": "conditional_prohibited", "schedule": "Outflows - Wholesale", "severity": "fatal", "description": "Appendix II-d (p.95): PID O.W.18 (Free Credits) must not be assigned a Forward Start Bucket or Forward Start Amount value.", "status": "pass", "computed_value": null, "reported_value": null, "message": "Not applicable: condition (PRODUCT_CODE == \"O.W.18\") does not hold for this row.", "cav": "validity" }
        ],
        "summary": {"total_rules":14,"applied":14,"suppressed":0,"pass":12,"fail":2,"stale_suppression_count":0,"overall_pass":false},
        "compliance_flags": ["EDIT_CHECK_FAILED:FR2052A-IIB-2","EDIT_CHECK_FAILED:FR2052A-IIB-3"],
        "note": "Evaluates a caller-supplied published edit-check rule set (FFIEC validity/quality edits or EBA ITS validation rules) against a caller-supplied report instance. The kernel is the evaluator; it carries no rule content of its own. Findings are keyed by the published edit id for round-trip into the issuer's own vocabulary."
      },
      "golden_hash": "b5b085af81df592d9e7d179593b2e5e4fd7cb69327ccd4148550ac2d2345c33a"
    }  ]
}
