{
  "tool_id": "art-567-pe-waterfall-lp-recompute",
  "tool_version": "1.0.0",
  "display_name": "PE Distribution Waterfall LP-Side Recompute",
  "mcp_name": "recompute_pe_waterfall_lp",
  "mandate_type": "attestation_mandate",
  "wave": 93,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-567-pe-waterfall-lp-recompute.html",
  "description": "Recomputes a standard 4-tier PE distribution waterfall (return of capital, preferred return, GP catch-up, residual carry split) from caller-DECLARED dated contribution/distribution cashflows and a caller-DECLARED waterfall parameterization (pref rate + compounding basis, GP catch-up percentage, carry percentage, European whole-fund or American deal-by-deal tier structure, optional clawback check), then diffs the recomputed per-tier LP/GP allocation against a caller-supplied GP-reported allocation. Verdict MATCHES, DIVERGES with per-tier deltas, or INDETERMINATE whenever a required parameter is absent -- never guessed, never defaulted. ILPA's own reporting-template guidance states it was not designed for verifying any of the GP's calculations, cited here only as dated gap evidence, never as an ILPA endorsement or ILPA-compliance claim. Cross-links recompute_fund_nav (art-373), which recomputes NAV, not distribution waterfalls -- the two do not duplicate each other. Zero network, zero PII, fixed-point BigInt money math throughout.",
  "input_schema_ref": "chaingraph/art-567-pe-waterfall-lp-recompute.html#manifest",
  "deadline": null,
  "deadline_note": "No statutory deadline; waterfall verification is a continuous LP-side fund-oversight control, not a periodic filing.",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:df13afbe5e611661922ccea2123194de8f703a3efa283154ec7af8b7876881e9",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-08-07"
    }
  ],
  "export_capability": [
    "json",
    "vc"
  ],
  "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": "ANQd8Zsko/7KJhxtWTqS28ck3GQSO6oz0VqOYbl2x8sJLD1qgdKcgxmofa1mzTIrcF2j5YD/K292KYspItyHAg8T5jHMw5UQxAM/Lx9u1HcwVT3a/noEX09oTBc76f8wBiUaUEV7v5XDyjzLPGawQeLC5yDKp+eDqjcympfdziUV7yzp4i7KE7OjhJuBOZwREjC46aTs30CeI2XQZFuqLB4vD13Us28lu9HhV9SmLe7IqtAI2rNLTcGlMUKEg/8NJ04DouYq1WxYxemaMoy5g1vCLlEhvVpmNIJD2XcTyY4AzzKFs8uB1CPsooSnPz41UyBIWqSt6REl05fDPWyaLw==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:df13afbe5e611661922ccea2123194de8f703a3efa283154ec7af8b7876881e9",
      "output": {
        "as_of_date": null,
        "clawback": {
          "clawback_amount": "0.00000000",
          "clawback_flag_declared": true,
          "gp_carry_and_catchup_received": "60000.00000000",
          "gp_entitled_at_carry_pct": "60000.00000000",
          "note": "Aggregate check only: does cumulative GP catch-up + carry exceed carry_pct of cumulative realized profit (distributions minus contributions) at this as-of date. Not a fund-level clawback provision recompute -- the governing LPA clawback mechanics (interim vs final, tax-effected or gross, escrow terms) are not modeled here.",
          "total_realized_profit": "300000.00000000"
        },
        "deal_id": null,
        "fence": "Cashflows and the waterfall parameterization are SUPPLIED, asserted, and digested into this receipt. This kernel recomputes ARITHMETIC over declared inputs and attests THAT -- never an opinion on LPA authorization, never ILPA-endorsed or ILPA-compliant.",
        "fund_id": "FUND-A",
        "gp_reported_allocation": {
          "tiers": [
            {
              "gp_amount": 0,
              "lp_amount": 1000000,
              "tier": "return_of_capital"
            },
            {
              "gp_amount": 0,
              "lp_amount": 80000,
              "tier": "preferred_return"
            },
            {
              "gp_amount": 20000,
              "lp_amount": 0,
              "tier": "gp_catchup"
            },
            {
              "gp_amount": 40000,
              "lp_amount": 160000,
              "tier": "carry_residual"
            }
          ]
        },
        "ilpa_context": "ILPA reporting-template guidance states it was not designed for verifying any of the GP's calculations (cited as dated gap evidence, not as an endorsement of this tool).",
        "not_proven": [
          {
            "detail": "Every dated cashflow is caller-supplied and asserted. This kernel performs no document parsing or fund-administrator data lookups (zero-egress) and does not verify these values against any external source.",
            "item": "Cashflow accuracy"
          },
          {
            "detail": "This kernel recomputes arithmetic under a DECLARED waterfall parameterization; it makes no finding on whether that parameterization is what the governing limited partnership agreement actually specifies.",
            "item": "LPA authorization"
          },
          {
            "detail": "ILPA reporting-template guidance is cited only as dated context that GP-side verification tooling is not designed to check the GP's own math. This kernel is not endorsed by, and makes no claim of compliance with, ILPA.",
            "item": "ILPA endorsement or compliance"
          },
          {
            "detail": "The GP-reported allocation compared against is exactly what the caller typed in; this kernel does not verify it was transcribed correctly from the GP's capital account statement.",
            "item": "GP-reported allocation source"
          }
        ],
        "per_deal": null,
        "recomputed_allocation": [
          {
            "gp_amount": "0.00000000",
            "lp_amount": "1000000.00000000",
            "tier": "return_of_capital"
          },
          {
            "gp_amount": "0.00000000",
            "lp_amount": "80000.00000000",
            "tier": "preferred_return"
          },
          {
            "gp_amount": "20000.00000000",
            "lp_amount": "0.00000000",
            "tier": "gp_catchup"
          },
          {
            "gp_amount": "40000.00000000",
            "lp_amount": "160000.00000000",
            "tier": "carry_residual"
          }
        ],
        "rejected_inputs": [],
        "tier_deltas": [
          {
            "gp_delta": "0.00000000",
            "gp_reported_gp_amount": "0",
            "gp_reported_lp_amount": "1000000",
            "lp_delta": "0.00000000",
            "matches": true,
            "recomputed_gp_amount": "0.00000000",
            "recomputed_lp_amount": "1000000.00000000",
            "tier": "return_of_capital"
          },
          {
            "gp_delta": "0.00000000",
            "gp_reported_gp_amount": "0",
            "gp_reported_lp_amount": "80000",
            "lp_delta": "0.00000000",
            "matches": true,
            "recomputed_gp_amount": "0.00000000",
            "recomputed_lp_amount": "80000.00000000",
            "tier": "preferred_return"
          },
          {
            "gp_delta": "0.00000000",
            "gp_reported_gp_amount": "20000",
            "gp_reported_lp_amount": "0",
            "lp_delta": "0.00000000",
            "matches": true,
            "recomputed_gp_amount": "20000.00000000",
            "recomputed_lp_amount": "0.00000000",
            "tier": "gp_catchup"
          },
          {
            "gp_delta": "0.00000000",
            "gp_reported_gp_amount": "40000",
            "gp_reported_lp_amount": "160000",
            "lp_delta": "0.00000000",
            "matches": true,
            "recomputed_gp_amount": "40000.00000000",
            "recomputed_lp_amount": "160000.00000000",
            "tier": "carry_residual"
          }
        ],
        "tier_structure": "european_whole_fund",
        "verdict": "MATCHES",
        "waterfall": {
          "carry_pct": 0.2,
          "compounding_basis": "simple",
          "day_count_convention": "actual/365",
          "gp_catchup_pct": 1,
          "pref_rate": 0.08
        }
      }
    }
  }
}
