{
  "tool_id": "art-537-qfc-recordkeeping-file-validator",
  "tool_version": "1.0.0",
  "display_name": "QFC Part 371 Recordkeeping File Validator",
  "mcp_name": "validate_qfc_recordkeeping_file",
  "mandate_type": "compliance_control",
  "wave": 84,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-537-qfc-recordkeeping-file-validator.html",
  "description": "Validates the shape of the institution's own 12 CFR part 371 qualified-financial-contract recordkeeping file -- the position, counterparty, and collateral record set the appendix to part 371 requires -- against its published record layout, and ties the file's declared totals to a supplied control-total summary. A file-shape defect and a totals mismatch are two separate, never-merged findings: a shape problem is checked first and routes to review_required regardless of how the totals compare, and only a clean-shaped file with a totals disagreement routes to escalate. Position identifier and counterparty identifier are enumerable low-entropy identifiers salted before this node ever sees them; QFC type and currency code stay opaque strings, with no table of contract-type or currency codes held here. Without a supplied control-total summary there is nothing to reconcile against, so the node reports did_not_run naming that precondition rather than assuming a tie-out. Emits a section 27.4 gate-policy value plus a sibling execution_state at a predictable output_payload pointer. Not a filing and not recordkeeping-adequacy advice.",
  "input_schema_ref": "chaingraph/art-537-qfc-recordkeeping-file-validator.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:c7d0608caf559ede9bf75c63cee44bcc4cda97cc043ea6c689707e0e956709b9",
      "valid_from": "2026-07-10"
    },
    {
      "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": "ALwv8daTwiz9Q+yChPGf9JUpseJ2CXSlnZHNkiURzoQHYIXH2s+1cnqwAqKLDxjbc+oyieLxngOek8qsPXa3GifnGOnoQNwxHtgK6Dv71cGp0evotTVw+vfYDfxEUkuSFRfnB0GbJnGXYHzVVMKq0viwnDU8sq9KP0UOZ0GSL0Qpj/cV/2hyae79B8+QHzi5Y+fuWKbibj+RXoky6g8oSQMMv6BwwVWpOWbaRQlHfMbEX4CjQBLMrXwaOmcpjY6BKpQl+U7dOrhuyEGH1W6Vn9YZKTmb6kFk+itGxBN7a64oB4tK/eOaURHKyN8SCtngAD47BBoNrQxgSLFihCjPqA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:c7d0608caf559ede9bf75c63cee44bcc4cda97cc043ea6c689707e0e956709b9",
      "output": {
        "as_of_date": "2026-06-30",
        "boundary": "This validates the shape of a supplied 12 CFR part 371 qualified-financial-contract recordkeeping file against the appendix's published record layout and ties the file's declared totals to a supplied control-total summary. It is not a filing, it does not produce the part 371 appendix submission format, it carries no claim that the FDIC or the institution's primary regulator would accept the file, and it offers no advice on whether a particular contract is a covered QFC. That determination is made under 12 CFR part 371 by the institution and its counsel, never here.",
        "conforming_row_count": 2,
        "control_totals": {
          "collateral_minor_units": 46000000,
          "distinct_counterparty_count": 2,
          "notional_minor_units": 700000000,
          "position_count": 2
        },
        "control_totals_supplied": true,
        "decision": {
          "execution_state": "ran",
          "gate_policy": "auto_pass",
          "reason": null
        },
        "file_structure_errors": [],
        "file_totals": {
          "collateral_minor_units": 46000000,
          "distinct_counterparty_count": 2,
          "notional_minor_units": 700000000,
          "position_count": 2
        },
        "identifier_salting": "Position identifier and counterparty identifier are enumerable low-entropy identifiers within the meaning of SPEC.md section 25.1. Both arrive at this kernel already salted (sha256-salted@1); the kernel uses each only to detect a repeated position or count distinct counterparties, and no raw identifier or salt ever enters this computation.",
        "institution_ref": "IDI-SYNTH-0001",
        "mismatches": [],
        "note": "Deterministic 12 CFR part 371 recordkeeping-file shape validator and totals reconciler. Single-run and stateless: it holds no records, runs on no schedule, and retains nothing. It validates the file's own declared rows against the part 371 appendix record layout and ties the file's totals to a supplied control-total summary, reporting a shape defect and a totals mismatch as two separate, never-merged findings. It holds no QFC-type or currency-code rule table and is not a filing.",
        "qfc_code_handling": "QFC type and currency code on each file row are opaque strings. Nothing in this computation branches on the text of either, and no table of part 371 QFC contract-type codes or currency codes is held here.",
        "rationale": [
          "Part 371 recordkeeping file validation for institution reference IDI-SYNTH-0001 as of 2026-06-30, over 2 supplied file rows.",
          "Every supplied row conforms to the part 371 appendix record layout: 2 rows carried every required field and no position identifier repeated.",
          "The file's totals tie out exactly against the supplied control-total summary across every tied field.",
          "QFC type and currency code on each file row are opaque strings. Nothing in this computation branches on the text of either, and no table of part 371 QFC contract-type codes or currency codes is held here.",
          "Position identifier and counterparty identifier are enumerable low-entropy identifiers within the meaning of SPEC.md section 25.1. Both arrive at this kernel already salted (sha256-salted@1); the kernel uses each only to detect a repeated position or count distinct counterparties, and no raw identifier or salt ever enters this computation.",
          "This validates the shape of a supplied 12 CFR part 371 qualified-financial-contract recordkeeping file against the appendix's published record layout and ties the file's declared totals to a supplied control-total summary. It is not a filing, it does not produce the part 371 appendix submission format, it carries no claim that the FDIC or the institution's primary regulator would accept the file, and it offers no advice on whether a particular contract is a covered QFC. That determination is made under 12 CFR part 371 by the institution and its counsel, never here."
        ],
        "supplied_row_count": 2,
        "totals_mismatch": false
      }
    }
  }
}
