{
  "tool_id": "art-525-nway-balance-closure-check",
  "kernel_id": "art-525-nway-balance-closure-check",
  "display_name": "N-Way Balance Closure Check",
  "tool_version": "1.0.0",
  "mandate_type": "compliance_control",
  "purpose": "Takes three or more caller-declared balances for the same measure, at the same as-of moment, across named internal systems, and ENFORCES the arithmetic closure identity (A minus B) plus (B minus C) equals (A minus C) within a caller-declared tolerance. Reports every pairwise difference, the closure residual for every triple, which pair carries the break, and which system is the single consistent explanation for all breaking pairs. This is not a fourth balance display: three pairwise tables enforce nothing across each other, because the third difference is fully determined by the other two, and the residual is the test a dashboard leaves to a human. Where a firm already reconciles hop by hop, each hop's own reconciled difference can be declared as an independent input, and the node then checks that those hops close against each other and agree with the declared balances. Tolerance is always a declared input, never defaulted, since an unstated tolerance turns every rounding difference into a break. Residual within tolerance yields auto_pass; outside tolerance, or a pairwise break, or a declared hop that disagrees with the balances, yields review_required, which routes to an exception step and never blocks. Balances at differing or undeclared as-of moments yield a ran-stale execution state; fewer than three systems, an undeclared tolerance, or no designated authoritative system yields a did-not-run execution state rather than a degraded pass. Balances, hop differences and the tolerance are integer minor units, so the arithmetic is exact. Scoped to internal system-boundary hops inside one firm, ahead of any filing. Clause: BCBS 239 Principle 2 fn.16 (robust automated reconciliation where multiple systems are in use); BCBS 239 SS36(d) (reconcile to a designated authoritative source, never consumer to consumer).",
  "control_description": "Takes three or more caller-declared balances for the same measure, at the same as-of moment, across named internal systems, and ENFORCES the arithmetic closure identity (A minus B) plus (B minus C) equals (A minus C) within a caller-declared tolerance. Reports every pairwise difference, the closure residual for every triple, which pair carries the break, and which system is the single consistent explanation for all breaking pairs. This is not a fourth balance display: three pairwise tables enforce nothing across each other, because the third difference is fully determined by the other two, and the residual is the test a dashboard leaves to a human. Where a firm already reconciles hop by hop, each hop's own reconciled difference can be declared as an independent input, and the node then checks that those hops close against each other and agree with the declared balances. Tolerance is always a declared input, never defaulted, since an unstated tolerance turns every rounding difference into a break. Residual within tolerance yields auto_pass; outside tolerance, or a pairwise break, or a declared hop that disagrees with the balances, yields review_required, which routes to an exception step and never blocks. Balances at differing or undeclared as-of moments yield a ran-stale execution state; fewer than three systems, an undeclared tolerance, or no designated authoritative system yields a did-not-run execution state rather than a degraded pass. Balances, hop differences and the tolerance are integer minor units, so the arithmetic is exact. Scoped to internal system-boundary hops inside one firm, ahead of any filing. Clause: BCBS 239 Principle 2 fn.16 (robust automated reconciliation where multiple systems are in use); BCBS 239 SS36(d) (reconcile to a designated authoritative source, never consumer to consumer).",
  "declared_inputs": [],
  "declared_outputs": [],
  "kernel_digest": "sha256:43bb37390c65a71cf845232d1f01cd24d40f3ddadba827618355b0386bfb82c9",
  "trust_label": "independently verified: zkVM execution proof (risc0/groth16-bn254)",
  "data_vintage": "2026-08-11",
  "last_validated": "2026-08-11",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "ready",
  "wave": 81,
  "source_url": "https://ainumbers.co/chaingraph/art-525-nway-balance-closure-check.html",
  "generated_at": "2026-08-15T11:12:17.704Z"
}
