{
  "tool_id": "art-620-summa-mst-inclusion-checker",
  "tool_version": "1.0.0",
  "display_name": "Summa MST Inclusion Checker",
  "mcp_name": "verify_summa_mst_inclusion",
  "mandate_type": "compliance_mandate",
  "wave": 100,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-620-summa-mst-inclusion-checker.html",
  "description": "Paste a published Merkle-sum-tree root (hash + sum) and an inclusion proof for one leaf; verifies membership AND local balance-sum-chain consistency entirely offline, client-side. Independently recomputes both the hash chain and the sum chain from the leaf to the root over the pasted proof path -- never trusting the pasted root as an oracle for itself -- and rejects any negative balance or any balance/sum exceeding a declared MAX_BALANCE domain bound anywhere in the path, closing the Maxwell eprint 2022/043 'broken MST' negative-balance-cancellation hazard the same way Summa's own circuit does with a RangeCheckChip, applied here at the application layer instead of inside a ZK circuit. Verify-only: reports leaf inclusion and local range-consistency, never a solvency or reserve-sufficiency claim.",
  "input_schema_ref": "tools/620-summa-mst-inclusion-checker.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:2dc3bf8bb1f5ae7c1d3c1023fdd8c19a1abd94fae7105f93541303cf0f9c77a6",
      "valid_from": "2026-08-14"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-08-16"
    }
  ],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "standards_basis": "not_applicable",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "E4hhvKiaYshZ/IsL0W/l7NPVrBASU+XOMAyu4t7o5iwszxdcNBjh4zBAIxacw059kJ8iJjp2mbFKKwd897CMhyFEdI7h3ipCrEB0oZgvhNgYLS/9LHqXU1MVb8K/h6cXKDCb5AeIMTEekMuYgTF/nemiFNfCVBKTj+Fm2vwebHccOjhsx/GX6t/dlfH93e2hgHUDjd4Erd92ExB3zSdteysCCRfw8YdSshB3KvnE4UXohxITOXuqWUuV7aK8+oLfB1gXjAPO4wxPws+mvlThiv3jmJuxPRtVVi6TEhgUG50pKoMiM8hJljuw9WAA79lz/EaQYeaOLV2iUWH0efS7/Q==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:2dc3bf8bb1f5ae7c1d3c1023fdd8c19a1abd94fae7105f93541303cf0f9c77a6",
      "output": {
        "computed_root": {
          "hash": "5d967f108c4cc8e9ea17607ac5d0454655967e2657ad77cefc295903e0aae551",
          "sum": "300"
        },
        "declared_root": {
          "hash": "5d967f108c4cc8e9ea17607ac5d0454655967e2657ad77cefc295903e0aae551",
          "sum": "300"
        },
        "leaf": {
          "balance": "100",
          "id": "aa11"
        },
        "max_balance_used": "1000000000000000000",
        "path_length": 1,
        "reason": null,
        "residual_limitation_note": "This checks inclusion and local range-consistency of the ONE leaf and its proof path only. It does not and cannot prove every other leaf in the tree obeyed the same range check — only the tree operator's own construction process (or a full ZK proof over the whole tree, which this tool does not implement) can guarantee that globally. This is never a statement that the reserve is solvent.",
        "verdict": "VERIFIED",
        "verify_only_note": "Verify-only: this tool reports \"this leaf's inclusion in the published tree is verified\" or \"verification failed: <reason>\" — never \"reserves are sufficient\", \"solvent\", or an audit opinion."
      }
    }
  }
}
