{
  "tool_id": "art-568-securitization-trustee-report-recompute",
  "tool_version": "1.0.0",
  "display_name": "Securitization Trustee-Report Waterfall Recomputation",
  "mcp_name": "recompute_trustee_report_waterfall",
  "mandate_type": "analytics_mandate",
  "wave": 92,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-568-securitization-trustee-report-recompute.html",
  "description": "Recomputes a securitization priority-of-payments waterfall for one stated distribution period from a caller-declared tier list and the period's own collections, then compares the recomputed distribution against what the monthly trustee report states was distributed. The tier list, its priority order, every cap and every trigger reference come from the deal's own indenture, which the caller pins in an indenture reference that is carried into the artifact, so a later amendment dates an old receipt rather than falsifying it. Trigger states are caller-declared booleans only: a tier naming a trigger is skipped exactly when the caller declares that trigger breached, and this tool computes no coverage ratio, delinquency rate, or other market figure to decide a trigger's state. The recomputed side of every comparison is derived here by allocating the period collections down the tier list, never lifted from the trustee report, so a divergence is a genuine arithmetic finding rather than a re-adding of a published column. The verdict is MATCHES, DIVERGES, or INDETERMINATE, and INDETERMINATE covers both an empty tier list and a run where no trustee-reported distribution was supplied to compare against; neither case is guessed toward agreement. Money is fixed point in integer minor units throughout with two-decimal display, and zero collections, an empty tier list, and a tier naming a collection type that was not supplied each resolve to a defined result. Cites the OCC's Comptroller's Handbook on Asset Securitization as a mechanics reference only; the deal's own indenture governs, and this tool says so rather than asserting endorsement by any standard-setter. Stated boundary: a divergence against the trustee report is an arithmetic finding about the tier list and figures supplied here. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly or incorrectly.",
  "input_schema_ref": "chaingraph/art-568-securitization-trustee-report-recompute.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:d055891899f36887772e5e5edccb200703d03fa965edd3ea178f6c6933e98578",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-08-07"
    }
  ],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "deferred_reason": "New shard; awaiting the async GPU proving queue (S18 steady-state).",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "FOCT58ROGSoxjmMXAWs0z3yxwVqq4DiLjlcBeU46JLoOH1ZnGZABWpUmA8AoSfAdTiXHy/pa8Z/4Wu5legdp5hPwx5kfjmoATWCHXNibEnz7hg0xMHwT9uTnSXnCkM2+IkxIq/QaTsl06ahpm5AgKxfdOkuQE8RpQr9ByYvWNGQeqtbNvzcGjOydrEadS7bhbyNzWrFSrI9K6bxcIEp/4xxBn/vZbsxQuVO+uVhbEf4WridBd/5PDfWe1AZKD7pLFkUrUnUrhmcPHprBbNUxNlqB2qrsRrk9+dsO+Y2pAXUGiPgbiKHZUaUwagO0NlmgzSDAYy7sWxQoSbdjemzC4w==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:d055891899f36887772e5e5edccb200703d03fa965edd3ea178f6c6933e98578",
      "output": {
        "citations": {
          "governing_document": {
            "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.",
            "source": "The deal's own indenture / pooling and servicing agreement"
          },
          "mechanics_reference": {
            "detail": "Referenced as a mechanics description of priority-of-payments structures, not as the governing document.",
            "source": "OCC Comptroller's Handbook -- Asset Securitization"
          }
        },
        "collections_by_type": [
          {
            "collection_type": "interest",
            "opening_display": "90000.00",
            "opening_minor_units": 9000000
          },
          {
            "collection_type": "principal",
            "opening_display": "200000.00",
            "opening_minor_units": 20000000
          }
        ],
        "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.",
        "currency": "USD",
        "deal_ref": "SYNTH-TRUST-2025-A",
        "diff": [
          {
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier.",
            "difference_display": "0.00",
            "difference_minor_units": 0,
            "in_tier_list": true,
            "recomputed_display": "2000.00",
            "recomputed_minor_units": 200000,
            "reported_display": "2000.00",
            "reported_minor_units": 200000,
            "tier_id": "t1"
          },
          {
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier.",
            "difference_display": "0.00",
            "difference_minor_units": 0,
            "in_tier_list": true,
            "recomputed_display": "58000.00",
            "recomputed_minor_units": 5800000,
            "reported_display": "58000.00",
            "reported_minor_units": 5800000,
            "tier_id": "t2"
          },
          {
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier.",
            "difference_display": "0.00",
            "difference_minor_units": 0,
            "in_tier_list": true,
            "recomputed_display": "30000.00",
            "recomputed_minor_units": 3000000,
            "reported_display": "30000.00",
            "reported_minor_units": 3000000,
            "tier_id": "t3"
          },
          {
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier.",
            "difference_display": "0.00",
            "difference_minor_units": 0,
            "in_tier_list": true,
            "recomputed_display": "200000.00",
            "recomputed_minor_units": 20000000,
            "reported_display": "200000.00",
            "reported_minor_units": 20000000,
            "tier_id": "t4"
          },
          {
            "agrees": true,
            "detail": "The independently recomputed distribution equals the amount the trustee report states for this tier.",
            "difference_display": "0.00",
            "difference_minor_units": 0,
            "in_tier_list": true,
            "recomputed_display": "0.00",
            "recomputed_minor_units": 0,
            "reported_display": "0.00",
            "reported_minor_units": 0,
            "tier_id": "t5"
          }
        ],
        "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.",
        "first_unfunded_tier": "t5",
        "indenture_ref": {
          "dated": "2025-04-01",
          "document_ref": "SYNTHETIC INDENTURE SYNTH-TRUST-2025-A",
          "section_ref": "Priority of Payments, Section 3.02",
          "supplied": true,
          "version": "1.0"
        },
        "indeterminate_reason": null,
        "minor_unit_exponent": 2,
        "not_proven": [
          {
            "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": "Compliance or audit opinion"
          },
          {
            "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": "Trigger accuracy"
          },
          {
            "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": "Tier-list completeness"
          },
          {
            "detail": "Period collections and balances are caller-supplied and asserted, not independently verified against servicer records or any external source.",
            "item": "Collections accuracy"
          }
        ],
        "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.",
        "period_label": "2025-08 distribution period",
        "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."
        ],
        "rejected_inputs": [],
        "residual_by_type": [
          {
            "collection_type": "interest",
            "opening_display": "90000.00",
            "opening_minor_units": 9000000,
            "residual_display": "0.00",
            "residual_minor_units": 0
          },
          {
            "collection_type": "principal",
            "opening_display": "200000.00",
            "opening_minor_units": 20000000,
            "residual_display": "0.00",
            "residual_minor_units": 0
          }
        ],
        "residual_display": "0.00",
        "residual_minor_units": 0,
        "skipped_tier_count": 0,
        "tier_count": 5,
        "tiers": [
          {
            "basis": "Declared by the caller from the deal indenture.",
            "cap_applied": false,
            "cap_display": null,
            "cap_minor_units": null,
            "claim_display": "2000.00",
            "claim_minor_units": 200000,
            "collection_type": "interest",
            "collection_type_supplied": true,
            "due_display": "2000.00",
            "due_minor_units": 200000,
            "fully_paid": true,
            "label": "Trustee and servicing fees",
            "paid_display": "2000.00",
            "paid_minor_units": 200000,
            "position": 1,
            "shortfall_display": "0.00",
            "shortfall_minor_units": 0,
            "skipped_by_trigger": null,
            "tier_id": "t1",
            "trigger_id": null,
            "type": "fees"
          },
          {
            "basis": "Declared by the caller from the deal indenture.",
            "cap_applied": false,
            "cap_display": null,
            "cap_minor_units": null,
            "claim_display": "58000.00",
            "claim_minor_units": 5800000,
            "collection_type": "interest",
            "collection_type_supplied": true,
            "due_display": "58000.00",
            "due_minor_units": 5800000,
            "fully_paid": true,
            "label": "Class A interest",
            "paid_display": "58000.00",
            "paid_minor_units": 5800000,
            "position": 2,
            "shortfall_display": "0.00",
            "shortfall_minor_units": 0,
            "skipped_by_trigger": null,
            "tier_id": "t2",
            "trigger_id": null,
            "type": "interest"
          },
          {
            "basis": "Declared by the caller from the deal indenture.",
            "cap_applied": false,
            "cap_display": "30000.00",
            "cap_minor_units": 3000000,
            "claim_display": "30000.00",
            "claim_minor_units": 3000000,
            "collection_type": "interest",
            "collection_type_supplied": true,
            "due_display": "30000.00",
            "due_minor_units": 3000000,
            "fully_paid": true,
            "label": "Reserve account replenishment",
            "paid_display": "30000.00",
            "paid_minor_units": 3000000,
            "position": 3,
            "shortfall_display": "0.00",
            "shortfall_minor_units": 0,
            "skipped_by_trigger": null,
            "tier_id": "t3",
            "trigger_id": "delinquency-trigger",
            "type": "reserve"
          },
          {
            "basis": "Declared by the caller from the deal indenture.",
            "cap_applied": false,
            "cap_display": null,
            "cap_minor_units": null,
            "claim_display": "200000.00",
            "claim_minor_units": 20000000,
            "collection_type": "principal",
            "collection_type_supplied": true,
            "due_display": "200000.00",
            "due_minor_units": 20000000,
            "fully_paid": true,
            "label": "Class A principal",
            "paid_display": "200000.00",
            "paid_minor_units": 20000000,
            "position": 4,
            "shortfall_display": "0.00",
            "shortfall_minor_units": 0,
            "skipped_by_trigger": null,
            "tier_id": "t4",
            "trigger_id": null,
            "type": "principal"
          },
          {
            "basis": "Declared by the caller from the deal indenture.",
            "cap_applied": false,
            "cap_display": null,
            "cap_minor_units": null,
            "claim_display": "40000.00",
            "claim_minor_units": 4000000,
            "collection_type": "principal",
            "collection_type_supplied": true,
            "due_display": "40000.00",
            "due_minor_units": 4000000,
            "fully_paid": false,
            "label": "Class B principal",
            "paid_display": "0.00",
            "paid_minor_units": 0,
            "position": 5,
            "shortfall_display": "40000.00",
            "shortfall_minor_units": 4000000,
            "skipped_by_trigger": null,
            "tier_id": "t5",
            "trigger_id": null,
            "type": "principal"
          }
        ],
        "total_collections_display": "290000.00",
        "total_collections_minor_units": 29000000,
        "total_paid_display": "290000.00",
        "total_paid_minor_units": 29000000,
        "total_shortfall_display": "40000.00",
        "total_shortfall_minor_units": 4000000,
        "triggers_evaluated": [
          {
            "basis": "Declared by the caller from the indenture; never computed from market data by this kernel.",
            "breached": false,
            "label": "Cumulative delinquency trigger",
            "trigger_id": "delinquency-trigger"
          }
        ],
        "trustee_reported_supplied": true,
        "verdict": "MATCHES"
      }
    }
  }
}
