{
  "tool_id": "art-518-bulk-disbursement-integrity",
  "tool_version": "1.0.0",
  "display_name": "Bulk Disbursement Integrity",
  "mcp_name": "attest_bulk_disbursement_integrity",
  "mandate_type": "attestation_mandate",
  "wave": 80,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-518-bulk-disbursement-integrity.html",
  "description": "Attests that a bulk payment run -- salaries, pensions, social transfers, vendor payments -- is internally consistent and matches its authorization. Reconciles per-payee records against the authorized control total in both count and value, surfaces duplicate-candidate clusters by a caller-supplied opaque key, reports payee roster movement against the prior run, and flags limit breaches including split-payment candidates (multiple sub-limit payments to one payee ref summing past a declared limit) and destination-tier cap breaches (a payment authorized and funded but unable to land because the destination wallet is at its KYC-tier balance cap). Duplicate, split, and cap-breach flags are candidates for review, never findings of fraud or misconduct. Region-portable: every fact is a caller-declared input, with no country, currency, or scheme hardcoded. Deterministic arithmetic only. Zero network, zero PII -- payee is an opaque ref plus an amount and a rail.",
  "input_schema_ref": "chaingraph/art-518-bulk-disbursement-integrity.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:3c590d0a9987e270cb032c31ba74642ab9a7f3dab1f9fd32eca587058484bfba","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-08-01"}],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "I0H0gPHYiHXnDQzQmJg0hTob69w8IDEyXqa9GmGD79QjZ1YjHoXX1jiAcHy1rUE7x6I/Cw/z1z8oRWa2IGH0hh+aoChVi0odnge4BH5MvoXltLmqZvRNyT2qeAKrNhOGJvLOBSBY58SPiGH/SC4f8LtLL4VroNgeFyfq7hpD2ycTpIs1b4JW50Ca0LclLWLv+4lxP0zdSo+90kxhiKn1UAqzPFcm1M90x0aTLnSR+BX9OqTwBgsdm6kXXWOESOvbDVb5qpSPA5TwxJcnSpps3t++7ABf3skqr/L7eUmpPpQZ+7QrVMn9qEK0DoppMrofTRjn7Ej7l91An20elzi/IQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:3c590d0a9987e270cb032c31ba74642ab9a7f3dab1f9fd32eca587058484bfba",
      "output": {
        "absent_this_run": [],
        "as_of": "2026-07-31",
        "authorized_payee_count": 4,
        "authorized_total_display": "4000.00",
        "authorized_total_minor_units": 400000,
        "control_total_reconciled": true,
        "count_break": 0,
        "currency": "USD",
        "declared_exclusions": [],
        "destination_cap_breaches": [],
        "duplicate_candidate_cluster_count": 0,
        "duplicate_candidate_clusters": [],
        "has_destination_cap_breach": false,
        "has_limit_breach": false,
        "has_roster_movement": false,
        "limit_breaches": [],
        "new_this_run": [],
        "note": "Deterministic bulk disbursement integrity attestation over a caller-supplied authorization, per-payee record set, declared exclusions, and prior-run roster. Attests control-total reconciliation in count and value, surfaces duplicate-candidate clusters and split-payment candidates by the caller's own opaque keys, and reports roster movement -- all as candidates and observations for a human reviewer, never as findings of fraud, misconduct, or ineligible beneficiaries.",
        "per_payee_limit_minor_units": 150000,
        "per_run_limit_breach": null,
        "per_run_limit_minor_units": 1000000,
        "prior_run_payee_count": 4,
        "rationale": [
          "Authorized: 4 payees, 4000.00 USD. Run records: 4 payees, 4000.00 USD.",
          "Run reconciles to the authorized control total in both count and value.",
          "No payee records share a caller-declared duplicate-candidate key.",
          "No payee received multiple sub-limit payments summing past the declared per-payee limit.",
          "No payee exceeds a declared destination-tier balance cap.",
          "Roster compared against 4 prior-run payee ref(s): 0 new this run, 0 absent this run. This is movement to be explained, not an accusation.",
          "This is an arithmetic attestation over the figures supplied for this run. It does not itself investigate any payee, and no flag here is a determination of fraud, misconduct, or an ineligible beneficiary."
        ],
        "reconciled_record_count": 4,
        "reconciled_total_display": "4000.00",
        "reconciled_total_minor_units": 400000,
        "rejected_inputs": [],
        "roster_movement_verifiable": true,
        "run_reference": "RUN-2026-07-31-PENSION",
        "split_payment_candidates": [],
        "value_break_display": "0.00",
        "value_break_minor_units": 0
      }
    }
  }
}
