{
  "tool_id": "art-689-pack-dependency-map",
  "note": "Golden vectors for the Pack Dependency Map. The first vector is the spec's canonical preimage (PACK-DEPENDENCY-MAP-BUILD-SPEC, workspace root): its output_payload recomputes byte-identical and execution_hash a3e1c6cdf6ffb69a3cfc0adba44e19fef2da065122634cdbc8a34e206db50204 must reproduce. The second vector is the opposite-verdict path (NO_IMPACT). All inputs are synthetic declarations; no real repository, registry, or build system is read.",
  "vectors": [
    {
      "name": "spec-canonical-impact-mapped",
      "policy_parameters": {
        "packs": [
          { "pack": "exam-readiness", "uses": ["kern-roll", "kern-date"] },
          { "pack": "close-center", "uses": ["kern-date"] }
        ],
        "changed_component": "kern-date"
      },
      "output_payload": {
        "impacted": ["exam-readiness", "close-center"],
        "impact_count": 2,
        "trace": "kern-date appears in both declared usage lists",
        "overall": "IMPACT_MAPPED"
      },
      "golden_hash": "a3e1c6cdf6ffb69a3cfc0adba44e19fef2da065122634cdbc8a34e206db50204"
    },
    {
      "name": "no-impact-opposite-verdict",
      "policy_parameters": {
        "packs": [
          { "pack": "exam-readiness", "uses": ["kern-roll", "kern-date"] },
          { "pack": "close-center", "uses": ["kern-date"] }
        ],
        "changed_component": "kern-weather"
      },
      "output_payload": {
        "impacted": [],
        "impact_count": 0,
        "trace": "kern-weather does not appear in any declared usage list",
        "overall": "NO_IMPACT"
      },
      "golden_hash": "66f9affc61307d088fe906494b6f2cbe37ae770cd190b194785d566213cdd82f"
    },
    {
      "name": "single-pack-one-usage-list",
      "policy_parameters": {
        "packs": [
          { "pack": "solo-pack", "uses": ["kern-ledger"] },
          { "pack": "other-pack", "uses": ["kern-roll"] }
        ],
        "changed_component": "kern-ledger"
      },
      "output_payload": {
        "impacted": ["solo-pack"],
        "impact_count": 1,
        "trace": "kern-ledger appears in one declared usage list",
        "overall": "IMPACT_MAPPED"
      },
      "golden_hash": "8f4b0c3cbdb99e19333074985883154d7c6dd7409ed2e6e6614984e40013025e"
    },
    {
      "name": "all-packs-impacted-four-lists",
      "policy_parameters": {
        "packs": [
          { "pack": "p1", "uses": ["kern-x"] },
          { "pack": "p2", "uses": ["kern-a", "kern-x"] },
          { "pack": "p3", "uses": ["kern-x", "kern-b"] },
          { "pack": "p4", "uses": ["kern-c"] }
        ],
        "changed_component": "kern-x"
      },
      "output_payload": {
        "impacted": ["p1", "p2", "p3"],
        "impact_count": 3,
        "trace": "kern-x appears in all 3 declared usage lists",
        "overall": "IMPACT_MAPPED"
      },
      "golden_hash": "05160c7306e27cf683b983064d7d62e87eb2d74e70506a64f2030a635f305b7c"
    },
    {
      "name": "empty-usage-lists",
      "policy_parameters": {
        "packs": [
          { "pack": "p1", "uses": [] },
          { "pack": "p2", "uses": [] }
        ],
        "changed_component": "kern-date"
      },
      "output_payload": {
        "impacted": [],
        "impact_count": 0,
        "trace": "kern-date does not appear in any declared usage list",
        "overall": "NO_IMPACT"
      },
      "golden_hash": "23a306d237b2ae6d1461fa8c0d34a4dda11d2e9cafea825d48f00951d75419c0"
    },
    {
      "name": "changed-component-declared-in-one-of-many",
      "policy_parameters": {
        "packs": [
          { "pack": "alpha", "uses": ["c1", "c2", "c3"] },
          { "pack": "beta", "uses": ["c2"] },
          { "pack": "gamma", "uses": ["c3", "c4"] }
        ],
        "changed_component": "c2"
      },
      "output_payload": {
        "impacted": ["alpha", "beta"],
        "impact_count": 2,
        "trace": "c2 appears in both declared usage lists",
        "overall": "IMPACT_MAPPED"
      },
      "golden_hash": "fc23ad07d7dd5f8b4f44f3b773adbc454e6d265bc27d8a26dacef44ff8f4c77f"
    }
  ],
  "human_sign_off": "PENDING"
}
