{
  "tool_id": "art-568-securitization-trustee-report-recompute",
  "note": "Vectors computed directly from the shipped kernel. Every deal, tier list, trigger and figure here is SYNTHETIC and is not a copy of any real transaction. Covers the independent recomputation agreeing with a trustee report, disagreement against a trustee report, both INDETERMINATE finite-gate states (no trustee report supplied; no tier definitions supplied), and a caller-declared breached trigger diverting a tier.",
  "vectors": [
    {
      "name": "matches-trustee-report-with-shortfall",
      "description": "Independent recomputation down a caller-declared tier list. Collections run out part way through a subordinated principal tier, first_unfunded_tier names it, and the recomputed distribution agrees with every figure the trustee report states.",
      "policy_parameters": {
        "deal_ref": "SYNTH-TRUST-2025-A",
        "period_label": "2025-08 distribution period",
        "currency": "USD",
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-A",
          "section_ref": "Priority of Payments, Section 3.02",
          "version": "1.0",
          "dated": "2025-04-01"
        },
        "period_collections": [
          {
            "collection_type": "interest",
            "amount_minor_units": 9000000
          },
          {
            "collection_type": "principal",
            "amount_minor_units": 20000000
          }
        ],
        "triggers": [
          {
            "trigger_id": "delinquency-trigger",
            "label": "Cumulative delinquency trigger",
            "breached": false
          }
        ],
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Trustee and servicing fees",
            "type": "fees",
            "collection_type": "interest",
            "amount_due_minor_units": 200000
          },
          {
            "tier_id": "t2",
            "label": "Class A interest",
            "type": "interest",
            "collection_type": "interest",
            "amount_due_minor_units": 5800000
          },
          {
            "tier_id": "t3",
            "label": "Reserve account replenishment",
            "type": "reserve",
            "collection_type": "interest",
            "amount_due_minor_units": 3000000,
            "cap_minor_units": 3000000,
            "trigger_id": "delinquency-trigger"
          },
          {
            "tier_id": "t4",
            "label": "Class A principal",
            "type": "principal",
            "collection_type": "principal",
            "amount_due_minor_units": 20000000
          },
          {
            "tier_id": "t5",
            "label": "Class B principal",
            "type": "principal",
            "collection_type": "principal",
            "amount_due_minor_units": 4000000
          }
        ],
        "trustee_reported_distribution": [
          {
            "tier_id": "t1",
            "amount_minor_units": 200000
          },
          {
            "tier_id": "t2",
            "amount_minor_units": 5800000
          },
          {
            "tier_id": "t3",
            "amount_minor_units": 3000000
          },
          {
            "tier_id": "t4",
            "amount_minor_units": 20000000
          },
          {
            "tier_id": "t5",
            "amount_minor_units": 0
          }
        ]
      },
      "output_payload": {
        "deal_ref": "SYNTH-TRUST-2025-A",
        "period_label": "2025-08 distribution period",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-A",
          "section_ref": "Priority of Payments, Section 3.02",
          "version": "1.0",
          "dated": "2025-04-01",
          "supplied": true
        },
        "collections_by_type": [
          {
            "collection_type": "interest",
            "opening_minor_units": 9000000,
            "opening_display": "90000.00"
          },
          {
            "collection_type": "principal",
            "opening_minor_units": 20000000,
            "opening_display": "200000.00"
          }
        ],
        "total_collections_minor_units": 29000000,
        "total_collections_display": "290000.00",
        "tier_count": 5,
        "skipped_tier_count": 0,
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Trustee and servicing fees",
            "type": "fees",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 1,
            "claim_minor_units": 200000,
            "claim_display": "2000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 200000,
            "due_display": "2000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 200000,
            "paid_display": "2000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          },
          {
            "tier_id": "t2",
            "label": "Class A interest",
            "type": "interest",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 2,
            "claim_minor_units": 5800000,
            "claim_display": "58000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 5800000,
            "due_display": "58000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 5800000,
            "paid_display": "58000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          },
          {
            "tier_id": "t3",
            "label": "Reserve account replenishment",
            "type": "reserve",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 3,
            "claim_minor_units": 3000000,
            "claim_display": "30000.00",
            "cap_minor_units": 3000000,
            "cap_display": "30000.00",
            "cap_applied": false,
            "due_minor_units": 3000000,
            "due_display": "30000.00",
            "trigger_id": "delinquency-trigger",
            "skipped_by_trigger": null,
            "paid_minor_units": 3000000,
            "paid_display": "30000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          },
          {
            "tier_id": "t4",
            "label": "Class A principal",
            "type": "principal",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "principal",
            "collection_type_supplied": true,
            "position": 4,
            "claim_minor_units": 20000000,
            "claim_display": "200000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 20000000,
            "due_display": "200000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 20000000,
            "paid_display": "200000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          },
          {
            "tier_id": "t5",
            "label": "Class B principal",
            "type": "principal",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "principal",
            "collection_type_supplied": true,
            "position": 5,
            "claim_minor_units": 4000000,
            "claim_display": "40000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 4000000,
            "due_display": "40000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 0,
            "paid_display": "0.00",
            "shortfall_minor_units": 4000000,
            "shortfall_display": "40000.00",
            "fully_paid": false
          }
        ],
        "first_unfunded_tier": "t5",
        "total_paid_minor_units": 29000000,
        "total_paid_display": "290000.00",
        "total_shortfall_minor_units": 4000000,
        "total_shortfall_display": "40000.00",
        "residual_by_type": [
          {
            "collection_type": "interest",
            "opening_minor_units": 9000000,
            "opening_display": "90000.00",
            "residual_minor_units": 0,
            "residual_display": "0.00"
          },
          {
            "collection_type": "principal",
            "opening_minor_units": 20000000,
            "opening_display": "200000.00",
            "residual_minor_units": 0,
            "residual_display": "0.00"
          }
        ],
        "residual_minor_units": 0,
        "residual_display": "0.00",
        "triggers_evaluated": [
          {
            "trigger_id": "delinquency-trigger",
            "label": "Cumulative delinquency trigger",
            "breached": false,
            "basis": "Declared by the caller from the indenture; never computed from market data by this kernel."
          }
        ],
        "trustee_reported_supplied": true,
        "comparison_basis": "The recomputed side of every comparison is derived here by allocating the caller-supplied period collections down the caller-declared tier list. It is not read from the trustee report. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "tier_id": "t1",
            "in_tier_list": true,
            "recomputed_minor_units": 200000,
            "recomputed_display": "2000.00",
            "reported_minor_units": 200000,
            "reported_display": "2000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t2",
            "in_tier_list": true,
            "recomputed_minor_units": 5800000,
            "recomputed_display": "58000.00",
            "reported_minor_units": 5800000,
            "reported_display": "58000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t3",
            "in_tier_list": true,
            "recomputed_minor_units": 3000000,
            "recomputed_display": "30000.00",
            "reported_minor_units": 3000000,
            "reported_display": "30000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t4",
            "in_tier_list": true,
            "recomputed_minor_units": 20000000,
            "recomputed_display": "200000.00",
            "reported_minor_units": 20000000,
            "reported_display": "200000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t5",
            "in_tier_list": true,
            "recomputed_minor_units": 0,
            "recomputed_display": "0.00",
            "reported_minor_units": 0,
            "reported_display": "0.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          }
        ],
        "verdict": "MATCHES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "mechanics_reference": {
            "source": "OCC Comptroller's Handbook -- Asset Securitization",
            "detail": "Referenced as a mechanics description of priority-of-payments structures, not as the governing document."
          },
          "governing_document": {
            "source": "The deal's own indenture / pooling and servicing agreement",
            "detail": "The tier list, priority order, caps and trigger definitions used by this kernel are taken from the indenture the caller pins in indenture_ref. The indenture governs; this kernel does not."
          }
        },
        "rationale": [
          "Waterfall recomputed for period 2025-08 distribution period on deal reference SYNTH-TRUST-2025-A, against the tier list pinned as SYNTHETIC INDENTURE SYNTH-TRUST-2025-A Priority of Payments, Section 3.02 version 1.0 dated 2025-04-01.",
          "Total period collections of 290000.00 USD across 2 collection types were allocated down 5 tiers in the order supplied, honouring every declared cap.",
          "1 trigger declared, 0 reported breached. Trigger states are caller-declared booleans only -- this kernel computes none of them from market or collateral data.",
          "Collections ran out at tier t5, the first tier whose claim could not be met in full. Total shortfall across the tier list is 40000.00 USD.",
          "Residual after the tier list is 0.00 USD.",
          "The independently recomputed distribution agrees with every one of the 5 tiers the trustee report states a figure for. The left-hand side was computed here from the tier list, not lifted from the report.",
          "The deal's indenture governs the priority of payments; this kernel recomputes the arithmetic over the tier list the caller declared from it, and makes no assertion that the deal complies with anything."
        ],
        "not_proven": [
          {
            "item": "Compliance or audit opinion",
            "detail": "This kernel recomputes an arithmetic allocation from a caller-declared tier list and caller-supplied collections. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly."
          },
          {
            "item": "Trigger accuracy",
            "detail": "Trigger states are caller-declared booleans, never computed here from market data, collateral performance, or any other source. This kernel attests only that the declared state was applied to the tier list as declared."
          },
          {
            "item": "Tier-list completeness",
            "detail": "The tier list, caps and trigger references are caller-supplied from the indenture. This kernel does not verify that the supplied list matches the indenture, only that the arithmetic over the supplied list is correct."
          },
          {
            "item": "Collections accuracy",
            "detail": "Period collections and balances are caller-supplied and asserted, not independently verified against servicer records or any external source."
          }
        ],
        "fence": "Trigger states are caller-declared booleans, never computed from market or collateral data. This kernel recomputes the arithmetic of a priority-of-payments waterfall over a caller-declared tier list and caller-supplied period collections, and compares it against the trustee-reported distribution where supplied. It is never a compliance determination, never an audit opinion, and never advice. The deal indenture governs.",
        "note": "Deterministic securitization trustee-report waterfall recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It forecasts nothing, models no scenario, performs no credit or rating analysis, and makes no assertion about the compliance status of the deal."
      },
      "golden_hash": "5f4128a09b8e53b88a419703bd63f120411129be99f7bce2110cc1fc403420f5"
    },
    {
      "name": "diverges-trustee-report-single-tier",
      "description": "Same shape, but the trustee report states a different figure for the Class A interest tier than the independent recomputation produces, so the verdict is DIVERGES with the difference listed.",
      "policy_parameters": {
        "deal_ref": "SYNTH-TRUST-2025-A",
        "period_label": "2025-09 distribution period",
        "currency": "USD",
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-A",
          "section_ref": "Priority of Payments, Section 3.02",
          "version": "1.0",
          "dated": "2025-04-01"
        },
        "period_collections": [
          {
            "collection_type": "interest",
            "amount_minor_units": 9000000
          }
        ],
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Trustee and servicing fees",
            "type": "fees",
            "collection_type": "interest",
            "amount_due_minor_units": 200000
          },
          {
            "tier_id": "t2",
            "label": "Class A interest",
            "type": "interest",
            "collection_type": "interest",
            "amount_due_minor_units": 5800000
          }
        ],
        "trustee_reported_distribution": [
          {
            "tier_id": "t1",
            "amount_minor_units": 200000
          },
          {
            "tier_id": "t2",
            "amount_minor_units": 5750000
          }
        ]
      },
      "output_payload": {
        "deal_ref": "SYNTH-TRUST-2025-A",
        "period_label": "2025-09 distribution period",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-A",
          "section_ref": "Priority of Payments, Section 3.02",
          "version": "1.0",
          "dated": "2025-04-01",
          "supplied": true
        },
        "collections_by_type": [
          {
            "collection_type": "interest",
            "opening_minor_units": 9000000,
            "opening_display": "90000.00"
          }
        ],
        "total_collections_minor_units": 9000000,
        "total_collections_display": "90000.00",
        "tier_count": 2,
        "skipped_tier_count": 0,
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Trustee and servicing fees",
            "type": "fees",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 1,
            "claim_minor_units": 200000,
            "claim_display": "2000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 200000,
            "due_display": "2000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 200000,
            "paid_display": "2000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          },
          {
            "tier_id": "t2",
            "label": "Class A interest",
            "type": "interest",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 2,
            "claim_minor_units": 5800000,
            "claim_display": "58000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 5800000,
            "due_display": "58000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 5800000,
            "paid_display": "58000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          }
        ],
        "first_unfunded_tier": null,
        "total_paid_minor_units": 6000000,
        "total_paid_display": "60000.00",
        "total_shortfall_minor_units": 0,
        "total_shortfall_display": "0.00",
        "residual_by_type": [
          {
            "collection_type": "interest",
            "opening_minor_units": 9000000,
            "opening_display": "90000.00",
            "residual_minor_units": 3000000,
            "residual_display": "30000.00"
          }
        ],
        "residual_minor_units": 3000000,
        "residual_display": "30000.00",
        "triggers_evaluated": [],
        "trustee_reported_supplied": true,
        "comparison_basis": "The recomputed side of every comparison is derived here by allocating the caller-supplied period collections down the caller-declared tier list. It is not read from the trustee report. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "tier_id": "t1",
            "in_tier_list": true,
            "recomputed_minor_units": 200000,
            "recomputed_display": "2000.00",
            "reported_minor_units": 200000,
            "reported_display": "2000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t2",
            "in_tier_list": true,
            "recomputed_minor_units": 5800000,
            "recomputed_display": "58000.00",
            "reported_minor_units": 5750000,
            "reported_display": "57500.00",
            "difference_minor_units": 50000,
            "difference_display": "500.00",
            "agrees": false,
            "detail": "The independently recomputed distribution differs from the amount the trustee report states for this tier."
          }
        ],
        "verdict": "DIVERGES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "mechanics_reference": {
            "source": "OCC Comptroller's Handbook -- Asset Securitization",
            "detail": "Referenced as a mechanics description of priority-of-payments structures, not as the governing document."
          },
          "governing_document": {
            "source": "The deal's own indenture / pooling and servicing agreement",
            "detail": "The tier list, priority order, caps and trigger definitions used by this kernel are taken from the indenture the caller pins in indenture_ref. The indenture governs; this kernel does not."
          }
        },
        "rationale": [
          "Waterfall recomputed for period 2025-09 distribution period on deal reference SYNTH-TRUST-2025-A, against the tier list pinned as SYNTHETIC INDENTURE SYNTH-TRUST-2025-A Priority of Payments, Section 3.02 version 1.0 dated 2025-04-01.",
          "Total period collections of 90000.00 USD across 1 collection type were allocated down 2 tiers in the order supplied, honouring every declared cap.",
          "No triggers were declared, so no tier was skipped for a trigger reason.",
          "Every tier was met in full from the collections available, so no tier ran out of money.",
          "Residual after the tier list is 30000.00 USD.",
          "The independently recomputed distribution diverges from the trustee report on 1 of 2 tiers. Each difference is listed with both figures. A divergence is an arithmetic finding about the tier list and figures supplied here, not a determination that the deal was administered incorrectly.",
          "The deal's indenture governs the priority of payments; this kernel recomputes the arithmetic over the tier list the caller declared from it, and makes no assertion that the deal complies with anything."
        ],
        "not_proven": [
          {
            "item": "Compliance or audit opinion",
            "detail": "This kernel recomputes an arithmetic allocation from a caller-declared tier list and caller-supplied collections. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly."
          },
          {
            "item": "Trigger accuracy",
            "detail": "Trigger states are caller-declared booleans, never computed here from market data, collateral performance, or any other source. This kernel attests only that the declared state was applied to the tier list as declared."
          },
          {
            "item": "Tier-list completeness",
            "detail": "The tier list, caps and trigger references are caller-supplied from the indenture. This kernel does not verify that the supplied list matches the indenture, only that the arithmetic over the supplied list is correct."
          },
          {
            "item": "Collections accuracy",
            "detail": "Period collections and balances are caller-supplied and asserted, not independently verified against servicer records or any external source."
          }
        ],
        "fence": "Trigger states are caller-declared booleans, never computed from market or collateral data. This kernel recomputes the arithmetic of a priority-of-payments waterfall over a caller-declared tier list and caller-supplied period collections, and compares it against the trustee-reported distribution where supplied. It is never a compliance determination, never an audit opinion, and never advice. The deal indenture governs.",
        "note": "Deterministic securitization trustee-report waterfall recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It forecasts nothing, models no scenario, performs no credit or rating analysis, and makes no assertion about the compliance status of the deal."
      },
      "golden_hash": "0d228cac17e366199e3eb4a37d8c925701584aa9c59805ff64a5d3fe72117733"
    },
    {
      "name": "indeterminate-no-trustee-report-supplied",
      "description": "A tier list and collections are supplied but no trustee-reported distribution, so there is nothing to compare against. Verdict is INDETERMINATE, never guessed as MATCHES.",
      "policy_parameters": {
        "deal_ref": "SYNTH-TRUST-2025-B",
        "period_label": "2025-08 distribution period",
        "currency": "USD",
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-B",
          "section_ref": "Priority of Payments, Section 4.01",
          "version": "2.0",
          "dated": "2025-01-15"
        },
        "period_collections": [
          {
            "collection_type": "combined",
            "amount_minor_units": 1000000
          }
        ],
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Servicing fee",
            "type": "fees",
            "collection_type": "combined",
            "amount_due_minor_units": 100000
          }
        ]
      },
      "output_payload": {
        "deal_ref": "SYNTH-TRUST-2025-B",
        "period_label": "2025-08 distribution period",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-B",
          "section_ref": "Priority of Payments, Section 4.01",
          "version": "2.0",
          "dated": "2025-01-15",
          "supplied": true
        },
        "collections_by_type": [
          {
            "collection_type": "combined",
            "opening_minor_units": 1000000,
            "opening_display": "10000.00"
          }
        ],
        "total_collections_minor_units": 1000000,
        "total_collections_display": "10000.00",
        "tier_count": 1,
        "skipped_tier_count": 0,
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Servicing fee",
            "type": "fees",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "combined",
            "collection_type_supplied": true,
            "position": 1,
            "claim_minor_units": 100000,
            "claim_display": "1000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 100000,
            "due_display": "1000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 100000,
            "paid_display": "1000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          }
        ],
        "first_unfunded_tier": null,
        "total_paid_minor_units": 100000,
        "total_paid_display": "1000.00",
        "total_shortfall_minor_units": 0,
        "total_shortfall_display": "0.00",
        "residual_by_type": [
          {
            "collection_type": "combined",
            "opening_minor_units": 1000000,
            "opening_display": "10000.00",
            "residual_minor_units": 900000,
            "residual_display": "9000.00"
          }
        ],
        "residual_minor_units": 900000,
        "residual_display": "9000.00",
        "triggers_evaluated": [],
        "trustee_reported_supplied": false,
        "comparison_basis": "The recomputed side of every comparison is derived here by allocating the caller-supplied period collections down the caller-declared tier list. It is not read from the trustee report. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [],
        "verdict": "INDETERMINATE",
        "indeterminate_reason": "No trustee-reported distribution was supplied, so the recomputed allocation has nothing to compare against.",
        "rejected_inputs": [],
        "citations": {
          "mechanics_reference": {
            "source": "OCC Comptroller's Handbook -- Asset Securitization",
            "detail": "Referenced as a mechanics description of priority-of-payments structures, not as the governing document."
          },
          "governing_document": {
            "source": "The deal's own indenture / pooling and servicing agreement",
            "detail": "The tier list, priority order, caps and trigger definitions used by this kernel are taken from the indenture the caller pins in indenture_ref. The indenture governs; this kernel does not."
          }
        },
        "rationale": [
          "Waterfall recomputed for period 2025-08 distribution period on deal reference SYNTH-TRUST-2025-B, against the tier list pinned as SYNTHETIC INDENTURE SYNTH-TRUST-2025-B Priority of Payments, Section 4.01 version 2.0 dated 2025-01-15.",
          "Total period collections of 10000.00 USD across 1 collection type were allocated down 1 tier in the order supplied, honouring every declared cap.",
          "No triggers were declared, so no tier was skipped for a trigger reason.",
          "Every tier was met in full from the collections available, so no tier ran out of money.",
          "Residual after the tier list is 9000.00 USD.",
          "Verdict is INDETERMINATE: No trustee-reported distribution was supplied, so the recomputed allocation has nothing to compare against.",
          "The deal's indenture governs the priority of payments; this kernel recomputes the arithmetic over the tier list the caller declared from it, and makes no assertion that the deal complies with anything."
        ],
        "not_proven": [
          {
            "item": "Compliance or audit opinion",
            "detail": "This kernel recomputes an arithmetic allocation from a caller-declared tier list and caller-supplied collections. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly."
          },
          {
            "item": "Trigger accuracy",
            "detail": "Trigger states are caller-declared booleans, never computed here from market data, collateral performance, or any other source. This kernel attests only that the declared state was applied to the tier list as declared."
          },
          {
            "item": "Tier-list completeness",
            "detail": "The tier list, caps and trigger references are caller-supplied from the indenture. This kernel does not verify that the supplied list matches the indenture, only that the arithmetic over the supplied list is correct."
          },
          {
            "item": "Collections accuracy",
            "detail": "Period collections and balances are caller-supplied and asserted, not independently verified against servicer records or any external source."
          }
        ],
        "fence": "Trigger states are caller-declared booleans, never computed from market or collateral data. This kernel recomputes the arithmetic of a priority-of-payments waterfall over a caller-declared tier list and caller-supplied period collections, and compares it against the trustee-reported distribution where supplied. It is never a compliance determination, never an audit opinion, and never advice. The deal indenture governs.",
        "note": "Deterministic securitization trustee-report waterfall recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It forecasts nothing, models no scenario, performs no credit or rating analysis, and makes no assertion about the compliance status of the deal."
      },
      "golden_hash": "12f901d7b3af0b73914c6ddcb1414c6c3c22d517b9b539d8e03c08ec8fc89f7b"
    },
    {
      "name": "indeterminate-empty-tier-list",
      "description": "No tier definitions supplied at all -- the finite gate on a structurally empty input. Verdict is INDETERMINATE and nothing is allocated.",
      "policy_parameters": {
        "deal_ref": "SYNTH-TRUST-2025-C",
        "period_label": "2025-08 distribution period",
        "currency": "USD",
        "period_collections": [
          {
            "collection_type": "combined",
            "amount_minor_units": 500000
          }
        ],
        "tiers": []
      },
      "output_payload": {
        "deal_ref": "SYNTH-TRUST-2025-C",
        "period_label": "2025-08 distribution period",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "indenture_ref": {
          "document_ref": "UNSTATED",
          "section_ref": "UNSTATED",
          "version": "UNSTATED",
          "dated": "UNSTATED",
          "supplied": false
        },
        "collections_by_type": [
          {
            "collection_type": "combined",
            "opening_minor_units": 500000,
            "opening_display": "5000.00"
          }
        ],
        "total_collections_minor_units": 500000,
        "total_collections_display": "5000.00",
        "tier_count": 0,
        "skipped_tier_count": 0,
        "tiers": [],
        "first_unfunded_tier": null,
        "total_paid_minor_units": 0,
        "total_paid_display": "0.00",
        "total_shortfall_minor_units": 0,
        "total_shortfall_display": "0.00",
        "residual_by_type": [
          {
            "collection_type": "combined",
            "opening_minor_units": 500000,
            "opening_display": "5000.00",
            "residual_minor_units": 500000,
            "residual_display": "5000.00"
          }
        ],
        "residual_minor_units": 500000,
        "residual_display": "5000.00",
        "triggers_evaluated": [],
        "trustee_reported_supplied": false,
        "comparison_basis": "The recomputed side of every comparison is derived here by allocating the caller-supplied period collections down the caller-declared tier list. It is not read from the trustee report. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [],
        "verdict": "INDETERMINATE",
        "indeterminate_reason": "No tier definitions were supplied, so no waterfall could be recomputed.",
        "rejected_inputs": [],
        "citations": {
          "mechanics_reference": {
            "source": "OCC Comptroller's Handbook -- Asset Securitization",
            "detail": "Referenced as a mechanics description of priority-of-payments structures, not as the governing document."
          },
          "governing_document": {
            "source": "The deal's own indenture / pooling and servicing agreement",
            "detail": "The tier list, priority order, caps and trigger definitions used by this kernel are taken from the indenture the caller pins in indenture_ref. The indenture governs; this kernel does not."
          }
        },
        "rationale": [
          "Waterfall recomputed for period 2025-08 distribution period on deal reference SYNTH-TRUST-2025-C, against the tier list pinned as UNSTATED UNSTATED version UNSTATED dated UNSTATED.",
          "No indenture reference was supplied, so the artifact cannot say which version of the governing document this recomputation followed. A receipt without that pin cannot be dated against a later amendment.",
          "Total period collections of 5000.00 USD across 1 collection type were allocated down 0 tiers in the order supplied, honouring every declared cap.",
          "No triggers were declared, so no tier was skipped for a trigger reason.",
          "Every tier was met in full from the collections available, so no tier ran out of money.",
          "Residual after the tier list is 5000.00 USD.",
          "Verdict is INDETERMINATE: No tier definitions were supplied, so no waterfall could be recomputed.",
          "The deal's indenture governs the priority of payments; this kernel recomputes the arithmetic over the tier list the caller declared from it, and makes no assertion that the deal complies with anything."
        ],
        "not_proven": [
          {
            "item": "Compliance or audit opinion",
            "detail": "This kernel recomputes an arithmetic allocation from a caller-declared tier list and caller-supplied collections. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly."
          },
          {
            "item": "Trigger accuracy",
            "detail": "Trigger states are caller-declared booleans, never computed here from market data, collateral performance, or any other source. This kernel attests only that the declared state was applied to the tier list as declared."
          },
          {
            "item": "Tier-list completeness",
            "detail": "The tier list, caps and trigger references are caller-supplied from the indenture. This kernel does not verify that the supplied list matches the indenture, only that the arithmetic over the supplied list is correct."
          },
          {
            "item": "Collections accuracy",
            "detail": "Period collections and balances are caller-supplied and asserted, not independently verified against servicer records or any external source."
          }
        ],
        "fence": "Trigger states are caller-declared booleans, never computed from market or collateral data. This kernel recomputes the arithmetic of a priority-of-payments waterfall over a caller-declared tier list and caller-supplied period collections, and compares it against the trustee-reported distribution where supplied. It is never a compliance determination, never an audit opinion, and never advice. The deal indenture governs.",
        "note": "Deterministic securitization trustee-report waterfall recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It forecasts nothing, models no scenario, performs no credit or rating analysis, and makes no assertion about the compliance status of the deal."
      },
      "golden_hash": "d61bafbe0636c7dc4866061dd5e8a2bdd606838f3ad25f437747d58f78a838d9"
    },
    {
      "name": "trigger-skip-diverts-tier",
      "description": "A caller-declared breached trigger skips the reserve tier it is named against, so collections pass through to the next tier; the recomputed distribution still agrees with the trustee report.",
      "policy_parameters": {
        "deal_ref": "SYNTH-TRUST-2025-D",
        "period_label": "2025-10 distribution period",
        "currency": "USD",
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-D",
          "section_ref": "Priority of Payments, Section 3.05",
          "version": "1.0",
          "dated": "2025-06-01"
        },
        "period_collections": [
          {
            "collection_type": "interest",
            "amount_minor_units": 5000000
          }
        ],
        "triggers": [
          {
            "trigger_id": "oc-trigger",
            "label": "Overcollateralization trigger",
            "breached": true
          }
        ],
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Class A interest",
            "type": "interest",
            "collection_type": "interest",
            "amount_due_minor_units": 4000000
          },
          {
            "tier_id": "t2",
            "label": "Reserve replenishment",
            "type": "reserve",
            "collection_type": "interest",
            "amount_due_minor_units": 1000000,
            "trigger_id": "oc-trigger"
          },
          {
            "tier_id": "t3",
            "label": "Residual to certificateholders",
            "type": "residual",
            "collection_type": "interest",
            "amount_due_minor_units": 1000000
          }
        ],
        "trustee_reported_distribution": [
          {
            "tier_id": "t1",
            "amount_minor_units": 4000000
          },
          {
            "tier_id": "t2",
            "amount_minor_units": 0
          },
          {
            "tier_id": "t3",
            "amount_minor_units": 1000000
          }
        ]
      },
      "output_payload": {
        "deal_ref": "SYNTH-TRUST-2025-D",
        "period_label": "2025-10 distribution period",
        "currency": "USD",
        "minor_unit_exponent": 2,
        "indenture_ref": {
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-D",
          "section_ref": "Priority of Payments, Section 3.05",
          "version": "1.0",
          "dated": "2025-06-01",
          "supplied": true
        },
        "collections_by_type": [
          {
            "collection_type": "interest",
            "opening_minor_units": 5000000,
            "opening_display": "50000.00"
          }
        ],
        "total_collections_minor_units": 5000000,
        "total_collections_display": "50000.00",
        "tier_count": 3,
        "skipped_tier_count": 1,
        "tiers": [
          {
            "tier_id": "t1",
            "label": "Class A interest",
            "type": "interest",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 1,
            "claim_minor_units": 4000000,
            "claim_display": "40000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 4000000,
            "due_display": "40000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 4000000,
            "paid_display": "40000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          },
          {
            "tier_id": "t2",
            "label": "Reserve replenishment",
            "type": "reserve",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 2,
            "claim_minor_units": 1000000,
            "claim_display": "10000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 1000000,
            "due_display": "10000.00",
            "trigger_id": "oc-trigger",
            "skipped_by_trigger": "oc-trigger",
            "paid_minor_units": 0,
            "paid_display": "0.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": false
          },
          {
            "tier_id": "t3",
            "label": "Residual to certificateholders",
            "type": "residual",
            "basis": "Declared by the caller from the deal indenture.",
            "collection_type": "interest",
            "collection_type_supplied": true,
            "position": 3,
            "claim_minor_units": 1000000,
            "claim_display": "10000.00",
            "cap_minor_units": null,
            "cap_display": null,
            "cap_applied": false,
            "due_minor_units": 1000000,
            "due_display": "10000.00",
            "trigger_id": null,
            "skipped_by_trigger": null,
            "paid_minor_units": 1000000,
            "paid_display": "10000.00",
            "shortfall_minor_units": 0,
            "shortfall_display": "0.00",
            "fully_paid": true
          }
        ],
        "first_unfunded_tier": null,
        "total_paid_minor_units": 5000000,
        "total_paid_display": "50000.00",
        "total_shortfall_minor_units": 0,
        "total_shortfall_display": "0.00",
        "residual_by_type": [
          {
            "collection_type": "interest",
            "opening_minor_units": 5000000,
            "opening_display": "50000.00",
            "residual_minor_units": 0,
            "residual_display": "0.00"
          }
        ],
        "residual_minor_units": 0,
        "residual_display": "0.00",
        "triggers_evaluated": [
          {
            "trigger_id": "oc-trigger",
            "label": "Overcollateralization trigger",
            "breached": true,
            "basis": "Declared by the caller from the indenture; never computed from market data by this kernel."
          }
        ],
        "trustee_reported_supplied": true,
        "comparison_basis": "The recomputed side of every comparison is derived here by allocating the caller-supplied period collections down the caller-declared tier list. It is not read from the trustee report. A comparison is only meaningful because the two sides have independent provenance.",
        "diff": [
          {
            "tier_id": "t1",
            "in_tier_list": true,
            "recomputed_minor_units": 4000000,
            "recomputed_display": "40000.00",
            "reported_minor_units": 4000000,
            "reported_display": "40000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t2",
            "in_tier_list": true,
            "recomputed_minor_units": 0,
            "recomputed_display": "0.00",
            "reported_minor_units": 0,
            "reported_display": "0.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          },
          {
            "tier_id": "t3",
            "in_tier_list": true,
            "recomputed_minor_units": 1000000,
            "recomputed_display": "10000.00",
            "reported_minor_units": 1000000,
            "reported_display": "10000.00",
            "difference_minor_units": 0,
            "difference_display": "0.00",
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier."
          }
        ],
        "verdict": "MATCHES",
        "indeterminate_reason": null,
        "rejected_inputs": [],
        "citations": {
          "mechanics_reference": {
            "source": "OCC Comptroller's Handbook -- Asset Securitization",
            "detail": "Referenced as a mechanics description of priority-of-payments structures, not as the governing document."
          },
          "governing_document": {
            "source": "The deal's own indenture / pooling and servicing agreement",
            "detail": "The tier list, priority order, caps and trigger definitions used by this kernel are taken from the indenture the caller pins in indenture_ref. The indenture governs; this kernel does not."
          }
        },
        "rationale": [
          "Waterfall recomputed for period 2025-10 distribution period on deal reference SYNTH-TRUST-2025-D, against the tier list pinned as SYNTHETIC INDENTURE SYNTH-TRUST-2025-D Priority of Payments, Section 3.05 version 1.0 dated 2025-06-01.",
          "Total period collections of 50000.00 USD across 1 collection type were allocated down 3 tiers in the order supplied, honouring every declared cap.",
          "1 trigger declared, 1 reported breached. Trigger states are caller-declared booleans only -- this kernel computes none of them from market or collateral data.",
          "1 tier skipped because the trigger named against it was declared breached; the funds due passed through to the next tier in order.",
          "Every tier was met in full from the collections available, so no tier ran out of money.",
          "Residual after the tier list is 0.00 USD.",
          "The independently recomputed distribution agrees with every one of the 3 tiers the trustee report states a figure for. The left-hand side was computed here from the tier list, not lifted from the report.",
          "The deal's indenture governs the priority of payments; this kernel recomputes the arithmetic over the tier list the caller declared from it, and makes no assertion that the deal complies with anything."
        ],
        "not_proven": [
          {
            "item": "Compliance or audit opinion",
            "detail": "This kernel recomputes an arithmetic allocation from a caller-declared tier list and caller-supplied collections. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly."
          },
          {
            "item": "Trigger accuracy",
            "detail": "Trigger states are caller-declared booleans, never computed here from market data, collateral performance, or any other source. This kernel attests only that the declared state was applied to the tier list as declared."
          },
          {
            "item": "Tier-list completeness",
            "detail": "The tier list, caps and trigger references are caller-supplied from the indenture. This kernel does not verify that the supplied list matches the indenture, only that the arithmetic over the supplied list is correct."
          },
          {
            "item": "Collections accuracy",
            "detail": "Period collections and balances are caller-supplied and asserted, not independently verified against servicer records or any external source."
          }
        ],
        "fence": "Trigger states are caller-declared booleans, never computed from market or collateral data. This kernel recomputes the arithmetic of a priority-of-payments waterfall over a caller-declared tier list and caller-supplied period collections, and compares it against the trustee-reported distribution where supplied. It is never a compliance determination, never an audit opinion, and never advice. The deal indenture governs.",
        "note": "Deterministic securitization trustee-report waterfall recomputation for one stated period. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It forecasts nothing, models no scenario, performs no credit or rating analysis, and makes no assertion about the compliance status of the deal."
      },
      "golden_hash": "d17a434c413153d532883991957a65d006d040be8fdaa85d0311a2c05259d728"
    }
  ]
}
