{
  "tool_id": "art-689-pack-dependency-map",
  "tool_version": "1.0.0",
  "display_name": "Pack Dependency Map",
  "mcp_name": "compute_pack_dependency_map",
  "mandate_type": "compliance_control",
  "wave": 117,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-689-pack-dependency-map.html",
  "description": "Maps the blast radius of a changed component across caller-declared pack-to-component usage lists: each declared pack carries the component identifiers it declares, and the kernel emits the impacted-pack set (in declared order), the impact count, a trace restating the membership count, and an overall verdict (IMPACT_MAPPED when at least one declared usage list contains the changed component; NO_IMPACT when none does). Every impacted pack is a direct (depth-1) consumer: the kernel maps membership in the declared lists only; it computes no transitive closure and claims no observation of any real repository, registry, or build system. The impacted-pack export is a registry export intended for the drift sweep's allowlist decisions. Zero storage, zero network, no runtime clock.",
  "input_schema_ref": "chaingraph/art-689-pack-dependency-map.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:85bcff208b87268413f83990a57e48329b66f8e71716731c46263e13e98121fc",
      "valid_from": "2026-09-05"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-09-06"
    }
  ],
  "export_capability": [
    "json"
  ],
  "standards_basis": "not_applicable",
  "cited_clause_digest": [],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "D3H4RuAy2LsnK5QdKr5p0BXXtxFXtuhf30xWuJX+yvYoPvbVS13iXBBZFph5W1bYcMDsqZg0uUXuT1k7P1BwcAtUCA7u8RMmXRZnu1Y7Y0uRIHPRG/nSNTWmdjm/el3fBPGkX1LRMk0jb3jnszizHaJWCDzHwciVzaBdBuDkPLoFO5sjBd2gbRZ/rqYRyeoSI77HLz9Z5FEi2LddQH5XVBJKQGR5IScGwLk6chNO/nM+s+NKHsbGtLPrKYhj4KCxIkYLCm2z8E+HNQ4IITEzU57KLkjrEyWNoSUtTsdtQ7UpanOkNuysRidNQzU6hMlL+Bat94ldmgH4wC/zJN9CCQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:85bcff208b87268413f83990a57e48329b66f8e71716731c46263e13e98121fc",
      "output": {
        "impact_count": 2,
        "impacted": [
          "exam-readiness",
          "close-center"
        ],
        "overall": "IMPACT_MAPPED",
        "trace": "kern-date appears in both declared usage lists"
      }
    }
  }
}
