{
  "tool_id": "art-662-odnsf-fee-recompute",
  "note": "Golden vectors authored for CORE-VERIFY-ODNSF-1. Synthetic account_token values only, zero PII. human_sign_off: PENDING.",
  "vectors": [
    {
      "name": "empty-ledger-indeterminate",
      "policy_parameters": {
        "account_token": "acct-demo-001",
        "period_label": "2026-08",
        "ledger": []
      },
      "output_payload": {
        "account_token": "acct-demo-001",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 0,
        "opening_balance_display": "0.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": true,
        "fee_schedule": {
          "nsf_fee_minor_units": 0,
          "nsf_fee_display": "0.00",
          "od_fee_minor_units": 0,
          "od_fee_display": "0.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 0,
        "events": [],
        "extended_fee_dates": [],
        "recomputed_fee_events": [],
        "total_recomputed_fees_minor_units": 0,
        "total_recomputed_fees_display": "0.00",
        "core_supplied": false,
        "core_charged_fee_events": [],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [],
        "verdict": "INDETERMINATE",
        "indeterminate_reason": "No usable ledger rows were supplied, so no fee events could be recomputed.",
        "rejected_inputs": [
          {
            "where": "opening_balance_minor_units",
            "reason": "absent",
            "supplied": null
          }
        ],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-001, period 2026-08, opening balance 0.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\" (defaulted -- none was validly declared). Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 0 items were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 0.00 USD across 0 date/fee-type buckets.",
          "Verdict is INDETERMINATE: No usable ledger rows were supplied, so no fee events could be recomputed.",
          "1 supplied value was not usable and was treated as zero, defaulted, or excluded. Each one is named in rejected_inputs rather than silently dropped.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "86ac86cd8856c1d7a24908bc864e9d77a808c48569854d96203ac1e5fdd595e0"
    },
    {
      "name": "no-fee-schedule-indeterminate",
      "policy_parameters": {
        "account_token": "acct-demo-002",
        "period_label": "2026-08",
        "opening_balance_minor_units": 1000,
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_ach",
            "amount": -1500,
            "settle_negative_allowed": false
          }
        ]
      },
      "output_payload": {
        "account_token": "acct-demo-002",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 1000,
        "opening_balance_display": "10.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": true,
        "fee_schedule": {
          "nsf_fee_minor_units": 0,
          "nsf_fee_display": "0.00",
          "od_fee_minor_units": 0,
          "od_fee_display": "0.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 1,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_ach",
            "amount_minor_units": -1500,
            "amount_display": "-15.00",
            "pre_balance_minor_units": 1000,
            "pre_balance_display": "10.00",
            "post_balance_minor_units": 1000,
            "post_balance_display": "10.00",
            "event_type": "NSF",
            "fee_charged": true,
            "fee_type": "NSF",
            "fee_amount_minor_units": 0,
            "fee_amount_display": "0.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-03",
            "fee_type": "NSF",
            "count": 1,
            "amount_minor_units": 0
          }
        ],
        "total_recomputed_fees_minor_units": 0,
        "total_recomputed_fees_display": "0.00",
        "core_supplied": false,
        "core_charged_fee_events": [],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [],
        "verdict": "INDETERMINATE",
        "indeterminate_reason": "The fee schedule did not declare both nsf_fee_minor_units and od_fee_minor_units, so recomputed fee amounts cannot be established.",
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-002, period 2026-08, opening balance 10.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\" (defaulted -- none was validly declared). Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 1 item were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 0.00 USD across 1 date/fee-type bucket.",
          "Verdict is INDETERMINATE: The fee schedule did not declare both nsf_fee_minor_units and od_fee_minor_units, so recomputed fee amounts cannot be established.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "2938e31af4b47e67941b0584f1db59f7ccbf428d7e36c2c2b95834d777a3c920"
    },
    {
      "name": "no-core-charged-fees-indeterminate",
      "policy_parameters": {
        "account_token": "acct-demo-003",
        "period_label": "2026-08",
        "opening_balance_minor_units": 1000,
        "posting_order_policy": "as_supplied",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_ach",
            "amount": -1500,
            "settle_negative_allowed": false
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "od_fee_minor_units": 3500
        }
      },
      "output_payload": {
        "account_token": "acct-demo-003",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 1000,
        "opening_balance_display": "10.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": false,
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "nsf_fee_display": "35.00",
          "od_fee_minor_units": 3500,
          "od_fee_display": "35.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 1,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_ach",
            "amount_minor_units": -1500,
            "amount_display": "-15.00",
            "pre_balance_minor_units": 1000,
            "pre_balance_display": "10.00",
            "post_balance_minor_units": 1000,
            "post_balance_display": "10.00",
            "event_type": "NSF",
            "fee_charged": true,
            "fee_type": "NSF",
            "fee_amount_minor_units": 3500,
            "fee_amount_display": "35.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-03",
            "fee_type": "NSF",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "total_recomputed_fees_minor_units": 3500,
        "total_recomputed_fees_display": "35.00",
        "core_supplied": false,
        "core_charged_fee_events": [],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [],
        "verdict": "INDETERMINATE",
        "indeterminate_reason": "No core-charged fees were supplied, so the recomputed fee events have nothing to compare against.",
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-003, period 2026-08, opening balance 10.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\". Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 1 item were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 35.00 USD across 1 date/fee-type bucket.",
          "Verdict is INDETERMINATE: No core-charged fees were supplied, so the recomputed fee events have nothing to compare against.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "f377af89c79732c77488d08ebfc095999645fc092941bbdfab4a26418b066c43"
    },
    {
      "name": "single-nsf-matches",
      "policy_parameters": {
        "account_token": "acct-demo-004",
        "period_label": "2026-08",
        "opening_balance_minor_units": 1000,
        "posting_order_policy": "as_supplied",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_ach",
            "amount": -1500,
            "settle_negative_allowed": false
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "od_fee_minor_units": 3500
        },
        "core_charged_fees": [
          {
            "post_date": "2026-08-03",
            "fee_type": "NSF",
            "amount_minor_units": 3500
          }
        ]
      },
      "output_payload": {
        "account_token": "acct-demo-004",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 1000,
        "opening_balance_display": "10.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": false,
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "nsf_fee_display": "35.00",
          "od_fee_minor_units": 3500,
          "od_fee_display": "35.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 1,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_ach",
            "amount_minor_units": -1500,
            "amount_display": "-15.00",
            "pre_balance_minor_units": 1000,
            "pre_balance_display": "10.00",
            "post_balance_minor_units": 1000,
            "post_balance_display": "10.00",
            "event_type": "NSF",
            "fee_charged": true,
            "fee_type": "NSF",
            "fee_amount_minor_units": 3500,
            "fee_amount_display": "35.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-03",
            "fee_type": "NSF",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "total_recomputed_fees_minor_units": 3500,
        "total_recomputed_fees_display": "35.00",
        "core_supplied": true,
        "core_charged_fee_events": [
          {
            "post_date": "2026-08-03",
            "fee_type": "NSF",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "post_date": "2026-08-03",
            "fee_type": "NSF",
            "recomputed_count": 1,
            "recomputed_minor_units": 3500,
            "recomputed_display": "35.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 3500,
            "core_charged_display": "35.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          }
        ],
        "verdict": "MATCHES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-004, period 2026-08, opening balance 10.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\". Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 1 item were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 35.00 USD across 1 date/fee-type bucket.",
          "The independently recomputed fee totals agree with the core-charged figures on every one of the 1 date/fee-type bucket compared. The recomputed side was derived here from the ledger and fee schedule, not lifted from the core-charged figures.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "a60b73af5813a3954457bb9d127a67e172a9a0da951623152c294e942cc55b90"
    },
    {
      "name": "single-od-diverges",
      "policy_parameters": {
        "account_token": "acct-demo-005",
        "period_label": "2026-08",
        "opening_balance_minor_units": 1000,
        "posting_order_policy": "as_supplied",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-05",
            "effective_date": "2026-08-05",
            "txn_type": "debit_card_pos",
            "amount": -1500,
            "settle_negative_allowed": true
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "od_fee_minor_units": 3600
        },
        "core_charged_fees": [
          {
            "post_date": "2026-08-05",
            "fee_type": "OD",
            "amount_minor_units": 3500
          }
        ]
      },
      "output_payload": {
        "account_token": "acct-demo-005",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 1000,
        "opening_balance_display": "10.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": false,
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "nsf_fee_display": "35.00",
          "od_fee_minor_units": 3600,
          "od_fee_display": "36.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 1,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-05",
            "effective_date": "2026-08-05",
            "txn_type": "debit_card_pos",
            "amount_minor_units": -1500,
            "amount_display": "-15.00",
            "pre_balance_minor_units": 1000,
            "pre_balance_display": "10.00",
            "post_balance_minor_units": -500,
            "post_balance_display": "-5.00",
            "event_type": "OD",
            "fee_charged": true,
            "fee_type": "OD",
            "fee_amount_minor_units": 3600,
            "fee_amount_display": "36.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-05",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3600
          }
        ],
        "total_recomputed_fees_minor_units": 3600,
        "total_recomputed_fees_display": "36.00",
        "core_supplied": true,
        "core_charged_fee_events": [
          {
            "post_date": "2026-08-05",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "post_date": "2026-08-05",
            "fee_type": "OD",
            "recomputed_count": 1,
            "recomputed_minor_units": 3600,
            "recomputed_display": "36.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 3500,
            "core_charged_display": "35.00",
            "difference_minor_units": 100,
            "difference_display": "1.00",
            "agrees": false,
            "detail": "The independently recomputed fee total for this date and fee type diverges from the core-charged figure supplied."
          }
        ],
        "verdict": "DIVERGES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-005, period 2026-08, opening balance 10.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\". Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "1 item were paid into a negative balance (OD) and 0 items were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 36.00 USD across 1 date/fee-type bucket.",
          "The independently recomputed fee totals diverge from the core-charged figures on 1 of 1 date/fee-type bucket. Each divergence is listed with both figures. A divergence is an arithmetic finding about the ledger, fee schedule, and figures supplied here -- not a determination that any fee was charged incorrectly or impermissibly.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "6c7d374e1d6afe6de9eef7ea40e36b27a4cb27a06853f610a870b40f4632372f"
    },
    {
      "name": "daily-cap-reached-matches",
      "policy_parameters": {
        "account_token": "acct-demo-006",
        "period_label": "2026-08",
        "opening_balance_minor_units": 50,
        "posting_order_policy": "high_to_low_amount",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-10",
            "effective_date": "2026-08-10",
            "txn_type": "debit_ach",
            "amount": -60,
            "settle_negative_allowed": false
          },
          {
            "txn_id": "T2",
            "post_date": "2026-08-10",
            "effective_date": "2026-08-10",
            "txn_type": "debit_check",
            "amount": -60,
            "settle_negative_allowed": false
          },
          {
            "txn_id": "T3",
            "post_date": "2026-08-10",
            "effective_date": "2026-08-10",
            "txn_type": "debit_card_pos",
            "amount": -60,
            "settle_negative_allowed": false
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3400,
          "od_fee_minor_units": 3400,
          "daily_fee_cap_count": 2
        },
        "core_charged_fees": [
          {
            "post_date": "2026-08-10",
            "fee_type": "NSF",
            "amount_minor_units": 3400
          },
          {
            "post_date": "2026-08-10",
            "fee_type": "NSF",
            "amount_minor_units": 3400
          }
        ]
      },
      "output_payload": {
        "account_token": "acct-demo-006",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 50,
        "opening_balance_display": "0.50",
        "posting_order_policy": "high_to_low_amount",
        "posting_policy_defaulted": false,
        "fee_schedule": {
          "nsf_fee_minor_units": 3400,
          "nsf_fee_display": "34.00",
          "od_fee_minor_units": 3400,
          "od_fee_display": "34.00",
          "daily_fee_cap_count": 2,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 3,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-10",
            "effective_date": "2026-08-10",
            "txn_type": "debit_ach",
            "amount_minor_units": -60,
            "amount_display": "-0.60",
            "pre_balance_minor_units": 50,
            "pre_balance_display": "0.50",
            "post_balance_minor_units": 50,
            "post_balance_display": "0.50",
            "event_type": "NSF",
            "fee_charged": true,
            "fee_type": "NSF",
            "fee_amount_minor_units": 3400,
            "fee_amount_display": "34.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          },
          {
            "txn_id": "T2",
            "post_date": "2026-08-10",
            "effective_date": "2026-08-10",
            "txn_type": "debit_check",
            "amount_minor_units": -60,
            "amount_display": "-0.60",
            "pre_balance_minor_units": 50,
            "pre_balance_display": "0.50",
            "post_balance_minor_units": 50,
            "post_balance_display": "0.50",
            "event_type": "NSF",
            "fee_charged": true,
            "fee_type": "NSF",
            "fee_amount_minor_units": 3400,
            "fee_amount_display": "34.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          },
          {
            "txn_id": "T3",
            "post_date": "2026-08-10",
            "effective_date": "2026-08-10",
            "txn_type": "debit_card_pos",
            "amount_minor_units": -60,
            "amount_display": "-0.60",
            "pre_balance_minor_units": 50,
            "pre_balance_display": "0.50",
            "post_balance_minor_units": 50,
            "post_balance_display": "0.50",
            "event_type": "NSF",
            "fee_charged": false,
            "fee_type": null,
            "fee_amount_minor_units": 0,
            "fee_amount_display": "0.00",
            "deduped": false,
            "cap_reached": true,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-10",
            "fee_type": "NSF",
            "count": 2,
            "amount_minor_units": 6800
          }
        ],
        "total_recomputed_fees_minor_units": 6800,
        "total_recomputed_fees_display": "68.00",
        "core_supplied": true,
        "core_charged_fee_events": [
          {
            "post_date": "2026-08-10",
            "fee_type": "NSF",
            "count": 2,
            "amount_minor_units": 6800
          }
        ],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "post_date": "2026-08-10",
            "fee_type": "NSF",
            "recomputed_count": 2,
            "recomputed_minor_units": 6800,
            "recomputed_display": "68.00",
            "core_charged_count": 2,
            "core_charged_minor_units": 6800,
            "core_charged_display": "68.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          }
        ],
        "verdict": "MATCHES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-006, period 2026-08, opening balance 0.50 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"high_to_low_amount\". Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 2 items were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "1 otherwise fee-eligible event were not fee-charged because the declared daily_fee_cap_count of 2 had already been reached that day.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 68.00 USD across 1 date/fee-type bucket.",
          "The independently recomputed fee totals agree with the core-charged figures on every one of the 1 date/fee-type bucket compared. The recomputed side was derived here from the ledger and fee schedule, not lifted from the core-charged figures.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "18378f280205f4e422552dae7a9a84ce6594fec903a4e70515465111a296a9dd"
    },
    {
      "name": "representment-deduped",
      "policy_parameters": {
        "account_token": "acct-demo-007",
        "period_label": "2026-08",
        "opening_balance_minor_units": 0,
        "posting_order_policy": "as_supplied",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-01",
            "effective_date": "2026-08-01",
            "txn_type": "debit_check",
            "amount": -2000,
            "settle_negative_allowed": false
          },
          {
            "txn_id": "T2",
            "post_date": "2026-08-04",
            "effective_date": "2026-08-04",
            "txn_type": "debit_check",
            "amount": -2000,
            "settle_negative_allowed": false,
            "representment_of": "T1"
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "od_fee_minor_units": 3500,
          "representment_dedup_days": 5
        },
        "core_charged_fees": [
          {
            "post_date": "2026-08-01",
            "fee_type": "NSF",
            "amount_minor_units": 3500
          }
        ]
      },
      "output_payload": {
        "account_token": "acct-demo-007",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 0,
        "opening_balance_display": "0.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": false,
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "nsf_fee_display": "35.00",
          "od_fee_minor_units": 3500,
          "od_fee_display": "35.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": 5,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 2,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-01",
            "effective_date": "2026-08-01",
            "txn_type": "debit_check",
            "amount_minor_units": -2000,
            "amount_display": "-20.00",
            "pre_balance_minor_units": 0,
            "pre_balance_display": "0.00",
            "post_balance_minor_units": 0,
            "post_balance_display": "0.00",
            "event_type": "NSF",
            "fee_charged": true,
            "fee_type": "NSF",
            "fee_amount_minor_units": 3500,
            "fee_amount_display": "35.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          },
          {
            "txn_id": "T2",
            "post_date": "2026-08-04",
            "effective_date": "2026-08-04",
            "txn_type": "debit_check",
            "amount_minor_units": -2000,
            "amount_display": "-20.00",
            "pre_balance_minor_units": 0,
            "pre_balance_display": "0.00",
            "post_balance_minor_units": 0,
            "post_balance_display": "0.00",
            "event_type": "NSF",
            "fee_charged": false,
            "fee_type": null,
            "fee_amount_minor_units": 0,
            "fee_amount_display": "0.00",
            "deduped": true,
            "cap_reached": false,
            "representment_of": "T1"
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-01",
            "fee_type": "NSF",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "total_recomputed_fees_minor_units": 3500,
        "total_recomputed_fees_display": "35.00",
        "core_supplied": true,
        "core_charged_fee_events": [
          {
            "post_date": "2026-08-01",
            "fee_type": "NSF",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "post_date": "2026-08-01",
            "fee_type": "NSF",
            "recomputed_count": 1,
            "recomputed_minor_units": 3500,
            "recomputed_display": "35.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 3500,
            "core_charged_display": "35.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          }
        ],
        "verdict": "MATCHES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-007, period 2026-08, opening balance 0.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\". Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 1 item were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "1 representment were not fee-charged under the declared 5-day representment-dedup rule.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 35.00 USD across 1 date/fee-type bucket.",
          "The independently recomputed fee totals agree with the core-charged figures on every one of the 1 date/fee-type bucket compared. The recomputed side was derived here from the ledger and fee schedule, not lifted from the core-charged figures.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "e9282a2d68e869baaa88404169c21e636c5ddfd402059a35d6f48e368cedf982"
    },
    {
      "name": "extended-overdrawn-fee-charged",
      "policy_parameters": {
        "account_token": "acct-demo-008",
        "period_label": "2026-08",
        "opening_balance_minor_units": 100,
        "posting_order_policy": "as_supplied",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-01",
            "effective_date": "2026-08-01",
            "txn_type": "debit_card_pos",
            "amount": -200,
            "settle_negative_allowed": true
          },
          {
            "txn_id": "T2",
            "post_date": "2026-08-02",
            "effective_date": "2026-08-02",
            "txn_type": "debit_card_pos",
            "amount": -50,
            "settle_negative_allowed": true
          },
          {
            "txn_id": "T3",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_card_pos",
            "amount": -25,
            "settle_negative_allowed": true
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "od_fee_minor_units": 3500,
          "extended_overdrawn_days": 1,
          "extended_overdrawn_fee_minor_units": 1500
        },
        "core_charged_fees": [
          {
            "post_date": "2026-08-01",
            "fee_type": "OD",
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "OD",
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "EXTENDED_OD",
            "amount_minor_units": 1500
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "OD",
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "EXTENDED_OD",
            "amount_minor_units": 1500
          }
        ]
      },
      "output_payload": {
        "account_token": "acct-demo-008",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 100,
        "opening_balance_display": "1.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": false,
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "nsf_fee_display": "35.00",
          "od_fee_minor_units": 3500,
          "od_fee_display": "35.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": 1,
          "extended_overdrawn_fee_minor_units": 1500,
          "extended_tier_active": true
        },
        "ledger_row_count": 3,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-01",
            "effective_date": "2026-08-01",
            "txn_type": "debit_card_pos",
            "amount_minor_units": -200,
            "amount_display": "-2.00",
            "pre_balance_minor_units": 100,
            "pre_balance_display": "1.00",
            "post_balance_minor_units": -100,
            "post_balance_display": "-1.00",
            "event_type": "OD",
            "fee_charged": true,
            "fee_type": "OD",
            "fee_amount_minor_units": 3500,
            "fee_amount_display": "35.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          },
          {
            "txn_id": "T2",
            "post_date": "2026-08-02",
            "effective_date": "2026-08-02",
            "txn_type": "debit_card_pos",
            "amount_minor_units": -50,
            "amount_display": "-0.50",
            "pre_balance_minor_units": -100,
            "pre_balance_display": "-1.00",
            "post_balance_minor_units": -150,
            "post_balance_display": "-1.50",
            "event_type": "OD",
            "fee_charged": true,
            "fee_type": "OD",
            "fee_amount_minor_units": 3500,
            "fee_amount_display": "35.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          },
          {
            "txn_id": "T3",
            "post_date": "2026-08-03",
            "effective_date": "2026-08-03",
            "txn_type": "debit_card_pos",
            "amount_minor_units": -25,
            "amount_display": "-0.25",
            "pre_balance_minor_units": -150,
            "pre_balance_display": "-1.50",
            "post_balance_minor_units": -175,
            "post_balance_display": "-1.75",
            "event_type": "OD",
            "fee_charged": true,
            "fee_type": "OD",
            "fee_amount_minor_units": 3500,
            "fee_amount_display": "35.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [
          "2026-08-02",
          "2026-08-03"
        ],
        "recomputed_fee_events": [
          {
            "post_date": "2026-08-01",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "EXTENDED_OD",
            "count": 1,
            "amount_minor_units": 1500
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "EXTENDED_OD",
            "count": 1,
            "amount_minor_units": 1500
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "total_recomputed_fees_minor_units": 13500,
        "total_recomputed_fees_display": "135.00",
        "core_supplied": true,
        "core_charged_fee_events": [
          {
            "post_date": "2026-08-01",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "EXTENDED_OD",
            "count": 1,
            "amount_minor_units": 1500
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "EXTENDED_OD",
            "count": 1,
            "amount_minor_units": 1500
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "OD",
            "count": 1,
            "amount_minor_units": 3500
          }
        ],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "post_date": "2026-08-01",
            "fee_type": "OD",
            "recomputed_count": 1,
            "recomputed_minor_units": 3500,
            "recomputed_display": "35.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 3500,
            "core_charged_display": "35.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "EXTENDED_OD",
            "recomputed_count": 1,
            "recomputed_minor_units": 1500,
            "recomputed_display": "15.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 1500,
            "core_charged_display": "15.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          },
          {
            "post_date": "2026-08-02",
            "fee_type": "OD",
            "recomputed_count": 1,
            "recomputed_minor_units": 3500,
            "recomputed_display": "35.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 3500,
            "core_charged_display": "35.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "EXTENDED_OD",
            "recomputed_count": 1,
            "recomputed_minor_units": 1500,
            "recomputed_display": "15.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 1500,
            "core_charged_display": "15.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          },
          {
            "post_date": "2026-08-03",
            "fee_type": "OD",
            "recomputed_count": 1,
            "recomputed_minor_units": 3500,
            "recomputed_display": "35.00",
            "core_charged_count": 1,
            "core_charged_minor_units": 3500,
            "core_charged_display": "35.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed fee total for this date and fee type equals the core-charged figure supplied."
          }
        ],
        "verdict": "MATCHES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-008, period 2026-08, opening balance 1.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\". Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "3 items were paid into a negative balance (OD) and 0 items were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "2 extended-overdrawn fees were charged under the declared 1-day threshold, counted over consecutive ledger post_dates with a negative end-of-day balance (a ledger-date proxy, not true calendar days -- see not_proven).",
          "Total recomputed fees for the period: 135.00 USD across 5 date/fee-type buckets.",
          "The independently recomputed fee totals agree with the core-charged figures on every one of the 5 date/fee-type buckets compared. The recomputed side was derived here from the ledger and fee schedule, not lifted from the core-charged figures.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "12b4fc2e53763e63c637d6e428c174dc2a7e426d46aff3ec326930399f9c7857"
    },
    {
      "name": "rejected-inputs-mixed",
      "policy_parameters": {
        "account_token": "acct-demo-009",
        "period_label": "2026-08",
        "opening_balance_minor_units": 500,
        "posting_order_policy": "bogus_policy",
        "ledger": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-06",
            "effective_date": "2026-08-06",
            "txn_type": "not_a_type",
            "amount": "oops"
          }
        ],
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "od_fee_minor_units": 3500
        },
        "core_charged_fees": []
      },
      "output_payload": {
        "account_token": "acct-demo-009",
        "period_label": "2026-08",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "opening_balance_minor_units": 500,
        "opening_balance_display": "5.00",
        "posting_order_policy": "as_supplied",
        "posting_policy_defaulted": true,
        "fee_schedule": {
          "nsf_fee_minor_units": 3500,
          "nsf_fee_display": "35.00",
          "od_fee_minor_units": 3500,
          "od_fee_display": "35.00",
          "daily_fee_cap_count": null,
          "representment_dedup_days": null,
          "extended_overdrawn_days": null,
          "extended_overdrawn_fee_minor_units": null,
          "extended_tier_active": false
        },
        "ledger_row_count": 1,
        "events": [
          {
            "txn_id": "T1",
            "post_date": "2026-08-06",
            "effective_date": "2026-08-06",
            "txn_type": null,
            "amount_minor_units": 0,
            "amount_display": "0.00",
            "pre_balance_minor_units": 500,
            "pre_balance_display": "5.00",
            "post_balance_minor_units": 500,
            "post_balance_display": "5.00",
            "event_type": null,
            "fee_charged": false,
            "fee_type": null,
            "fee_amount_minor_units": 0,
            "fee_amount_display": "0.00",
            "deduped": false,
            "cap_reached": false,
            "representment_of": null
          }
        ],
        "extended_fee_dates": [],
        "recomputed_fee_events": [],
        "total_recomputed_fees_minor_units": 0,
        "total_recomputed_fees_display": "0.00",
        "core_supplied": false,
        "core_charged_fee_events": [],
        "comparison_basis": "The recomputed side of every comparison is derived here from the posted ledger, the declared opening balance, and the declared fee schedule, aggregated by post_date and fee type. It is not read from the core-charged figures. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [],
        "verdict": "INDETERMINATE",
        "indeterminate_reason": "No core-charged fees were supplied, so the recomputed fee events have nothing to compare against.",
        "rejected_inputs": [
          {
            "where": "posting_order_policy",
            "reason": "not one of as_supplied, high_to_low_amount, low_to_high_amount, chronological_by_effective_date; defaulted to as_supplied",
            "supplied": "bogus_policy"
          },
          {
            "where": "ledger[0].txn_type",
            "reason": "not one of debit_check, debit_ach, debit_card_pos, debit_atm, credit_deposit, credit_transfer, fee, other",
            "supplied": "not_a_type"
          },
          {
            "where": "ledger[0].settle_negative_allowed",
            "reason": "absent; defaulted to false (item returned/NSF rather than paid-overdrawn)",
            "supplied": null
          },
          {
            "where": "ledger[0].amount",
            "reason": "expected an integer number of minor units, got string",
            "supplied": "oops"
          }
        ],
        "citations": {
          "reg_dd_fee_disclosure": {
            "source": "Truth in Savings Act / Regulation DD, 12 CFR Part 1030",
            "detail": "Requires disclosure of fees that may be imposed on an account, including overdraft and NSF fee amounts. Re-verify against primary text before relying on it (research findings, not facts)."
          },
          "reg_e_authorization_hold": {
            "source": "Regulation E, 12 CFR Part 1005",
            "detail": "Governs authorization-hold and electronic-transfer dispute-resolution treatment referenced by the APSN (authorize-positive-settle-negative) fee pattern this kernel recomputes given a declared posting policy -- cited for the authorization-hold concept, not as a determination of any institution's compliance."
          }
        },
        "rationale": [
          "OD/NSF fee events recomputed for account acct-demo-009, period 2026-08, opening balance 5.00 USD.",
          "Same-post_date items were re-sequenced per the declared posting_order_policy \"as_supplied\" (defaulted -- none was validly declared). Posting order is a caller-declared input; this kernel infers no default beyond as_supplied and makes no claim about the policy's permissibility.",
          "0 items were paid into a negative balance (OD) and 0 items were returned unpaid (NSF), each per its own settle_negative_allowed declaration.",
          "No extended-overdrawn fee tier was declared (both extended_overdrawn_days and extended_overdrawn_fee_minor_units are required to activate it), so none was modelled.",
          "Total recomputed fees for the period: 0.00 USD across 0 date/fee-type buckets.",
          "Verdict is INDETERMINATE: No core-charged fees were supplied, so the recomputed fee events have nothing to compare against.",
          "4 supplied values were not usable and were treated as zero, defaulted, or excluded. Each one is named in rejected_inputs rather than silently dropped.",
          "This tool independently recomputes and receipts fee arithmetic given the caller's own declared posting-order policy and fee schedule. It is not a core alternative, does not audit or find bugs in any vendor's system, and makes no claim of endorsement by or determination of legality about any core platform or posting-order policy."
        ],
        "not_proven": [
          {
            "item": "Not a legality determination",
            "detail": "This kernel recomputes fee arithmetic given a caller-declared posting-order policy and fee schedule. It makes no claim about whether that policy or schedule is lawful, disclosed correctly, or matches the account agreement."
          },
          {
            "item": "Extended-overdrawn day counting is ledger-date-based, not calendar-based",
            "detail": "The extended-overdrawn streak counts consecutive DISTINCT post_date values present in the supplied ledger, not true consecutive calendar days. A ledger with gaps (no transactions on some calendar days) will undercount calendar days negative."
          },
          {
            "item": "Diff aggregation is by (post_date, fee_type), not by individual transaction",
            "detail": "core_charged_fees is compared against recomputed fees aggregated per day and fee type, not matched one-to-one against a specific triggering item, unless the caller-supplied txn_id happens to align."
          },
          {
            "item": "No per-core export adapter",
            "detail": "This kernel consumes only the Sec0 generic ledger CSV shape. It does not read any core's native export format (Episys, SilverLake, DNA, Premier, or otherwise) and makes no claim about those formats."
          },
          {
            "item": "Input accuracy",
            "detail": "The posted ledger, fee schedule, and core-charged fees are caller-supplied and asserted, not independently verified against source records."
          }
        ],
        "fence": "This is an independent recompute and receipt, not a core alternative, not a vendor audit, and not an endorsement claim by any core vendor or platform. Posting order and the fee schedule are caller-declared inputs, never chosen or inferred. A divergence is an arithmetic finding, never a determination that a fee was charged incorrectly or impermissibly, or is owed back -- interpretation belongs to the caller.",
        "note": "Deterministic OD/NSF fee-event recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It performs no core posting integration of any kind (batch, caller-pasted export only)."
      },
      "golden_hash": "90002b6306c01171428b302961e4b7498602b6bf0fa05b9f296e6f823fef3330"
    }
  ]
}