{
  "tool_id": "art-534-aml-lookback-disposition-rollup",
  "tool_version": "1.0.0",
  "display_name": "AML Lookback Disposition Rollup",
  "mcp_name": "roll_up_aml_lookback_disposition",
  "mandate_type": "compliance_control",
  "wave": 83,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-534-aml-lookback-disposition-rollup.html",
  "description": "Closes the loop art-470 (lookback-completeness-reconciler) and art-471 (disposition-sampling-frame) leave open. Art-470 reconciles that the RE-SCREENING extract was complete; art-471 builds a deterministic sample of the resulting dispositions for independent review; neither checks that a disposition was actually recorded for every sampled item, that a filed or no-SAR determination carries a rationale, or that the sample frame's declared population size still reconciles to the completeness population. This node rolls those three axes up: disposition-coverage against the sample frame's own declared size, disposition-rationale-presence on every filed/no-SAR determination, and a population-to-sample tie-out between art-470's and art-471's declared population sizes. Emits a closed §27.4 gate-policy value: full coverage with rationale present on every filed/no-SAR item yields auto_pass; any missing disposition evaluated as of a caller-declared date on or after the lookback's declared close date yields escalate; a population tie-out failure or an explicit caller-declared sampling-frame discrepancy yields hold; a disposition present without its required rationale yields review_required. Customer id and alert id cross this kernel already salted -- callers supply a sha256-salted@1 commitment string, never the plaintext identifier -- and the kernel never sees, requests, or computes over the plaintext. Deterministic rollup arithmetic only. Zero network, zero PII.",
  "input_schema_ref": "chaingraph/art-534-aml-lookback-disposition-rollup.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:2263d143a5cbc54da93c78d3d8fb7d028dd161856f55cf8007414c81efad7778",
      "valid_from": "2026-08-04"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-08-04"
    }
  ],
  "compute_proof_ready": "ready",
  "deferred_reason": "New shard; awaiting the async GPU proving queue (S18 steady-state).",
  "export_capability": [
    "json"
  ],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "MBXLHXUpyxhonmwnPcpAcLLi7kKmEdFUhkzNCkxzi58OO4bgvGhMhbJdKslyW1UNiKzhXQXqTRx9agsSirLR0QC7F4jLXiSRimKK9XhHYOddoIvrd9wUM0IMGEd2ts4WBVVVCpYTv02+7KYIQr4DwXlIcWaNbMs9sViaX2VQsBIpPk1XDmtNmF/pbWp3S1RfGU1Jg8EsECJfEvcchDiuXhaNTIFVjKcqGudPyFkUyg+Lf8du3C7F1QJ/ShCVKgpHBOUmRs0N5m2TKoOghLDgMZ1ogXJVLP1+3e9KVjI+YvgsNdJXEVWEZFU+bkDgAaUU3Ggagxhl/enOOtmEsKqkcQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:2263d143a5cbc54da93c78d3d8fb7d028dd161856f55cf8007414c81efad7778",
      "output": {
        "as_of": "2026-07-15",
        "decision": {
          "execution_state": "ran",
          "gate_policy": "auto_pass",
          "reason": null
        },
        "disposition_coverage_pct": 100,
        "items": [
          {
            "disposition": "no_sar",
            "has_rationale_reference": true,
            "identity_ok": true,
            "index": 0,
            "rationale_ok": true,
            "rationale_required": true
          },
          {
            "disposition": "sar_filed",
            "has_rationale_reference": true,
            "identity_ok": true,
            "index": 1,
            "rationale_ok": true,
            "rationale_required": true
          }
        ],
        "items_missing_rationale": [],
        "lookback_close_date": "2026-06-30",
        "lookback_id": "LB-2026-CONSENT-ORDER-7",
        "missing_disposition_count": 0,
        "population_size": 500,
        "population_tie_out_holds": true,
        "rationale_presence_pct": 100,
        "rejected_inputs": [],
        "sample_frame_population_size": 500,
        "sample_frame_size": 2,
        "sampled_item_count": 2,
        "sampling_frame_discrepancy_flag": false
      }
    }
  }
}
