{
  "tool_id": "art-442-nmd-behavioral-repricing-mapper",
  "kernel_id": "art-442-nmd-behavioral-repricing-mapper",
  "display_name": "NMD Behavioral Repricing Mapper",
  "tool_version": "1.0.0",
  "mandate_type": "analytics_mandate",
  "purpose": "OCC 2010-1 Interagency Advisory on IRR: maps non-maturity deposit (NMD) segment balances into a bucketed net-repricing-gap schedule using a caller-declared behavioral allocation (per-bucket repricing fractions) and a deposit beta -- never a baked-in regulatory decay curve. Feeds directly into art-369's repricing_gaps input, which art-369 itself requires as a GIVEN and does not derive. Distinct from art-369 (Rate Shock Ladder Replay), which sweeps shocks over an already-bucketed gap schedule; this kernel builds that schedule from underlying deposit balances. NaN-safe. Zero network, zero PII.",
  "control_description": "OCC 2010-1 Interagency Advisory on IRR: maps non-maturity deposit (NMD) segment balances into a bucketed net-repricing-gap schedule using a caller-declared behavioral allocation (per-bucket repricing fractions) and a deposit beta -- never a baked-in regulatory decay curve. Feeds directly into art-369's repricing_gaps input, which art-369 itself requires as a GIVEN and does not derive. Distinct from art-369 (Rate Shock Ladder Replay), which sweeps shocks over an already-bucketed gap schedule; this kernel builds that schedule from underlying deposit balances. NaN-safe. Zero network, zero PII.",
  "declared_inputs": [],
  "declared_outputs": [],
  "kernel_digest": "sha256:388900a314f4d9e05be9bfcf9909a1b89a67b9c482c057d9434cb200f7bef94d",
  "trust_label": "independently verified -- zkVM execution proof (risc0/groth16-bn254)",
  "data_vintage": "2026-07-23",
  "last_validated": "2026-07-23",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "ready",
  "wave": 73,
  "source_url": "https://ainumbers.co/chaingraph/art-442-nmd-behavioral-repricing-mapper.html",
  "generated_at": "2026-07-25T20:02:55.601Z"
}
