{
  "name": "chris-peterson/beacon — 1 skill",
  "slug": "source-skills-0df28b39d1a5dbbf27a16c8d",
  "type": "skills",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "pinned_source_listing",
  "stamp": "Pinned source listing — machine-checked",
  "summary": "Pinned source declarations and file hashes were listed.",
  "outcome": "Listed 1 skill declaration. Ran 79 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
  "rule_results": [
    "The retained source tree matches its acquisition manifest.",
    "Declared skill names (listing.json): iterm-release"
  ],
  "task": "What declarations and files are present in this pinned source?",
  "setup": "Git blob acquisition followed by static source inspection.",
  "limitations": "Scope: acquisition and static inspection. Command results: commands.json.",
  "source_url": "https://github.com/chris-peterson/beacon",
  "documentation_url": "https://github.com/chris-peterson/beacon",
  "commit": "f8a301d4351e34ae43bf43f0535294cd7c3cf8d4",
  "tree_sha256": "a3514231928781712a261a1a6f2f41a07ff6011c64a9b4401be34403b807adfc",
  "file_sha256": {
    ".claude/hooks/remind-update-completions.sh": "45c2916368ec666fb4e15fdca8a801be95e334a0e49436fd0cb17a49fbcc57e2",
    ".claude/settings.json": "de6ac280bd329080943ca43e42fa6f21410fbd252283f233c887a8685cb9e0ab",
    ".claude/skills/iterm-release/SKILL.md": "e433d9560b217baf52c846795ecfb9409c7c17e75a8824a774ea5c226c7ec714",
    ".claude-plugin/plugin.json": "70f1c0160a6bb26be86c63d7cab4a492589fefff329995f830c5d5731a1d1982",
    ".github/workflows/deploy-docs.yml": "924d77150946b0ba6b6caa443fa23fe55dd0308c800715560d1ebe6a3a5775f7",
    ".github/workflows/project.yml": "c2cd58bc6f6804c87b9a0bef31276e77c74427f4b88446645c03d1d30527024b",
    ".github/workflows/release.yml": "f6d88f1cdc50cc1498c0d25c9f6b9968023beb27344c14fc5bf421271e0e513a",
    ".github/workflows/test.yml": "17473f2e1bf43c025765260a7a284881391ddfa182ac627ea80dc31f00d81198",
    ".gitignore": "58b9cd2ccafa0a957540b5e94f6014dd4e8e10b62c855dac3d4bc3e77b1f62fb",
    "AGENTS.md": "cd0a3b6bf38ed2f628590043fc6bbb4dc65edb5931fbe70074e7751a725dcbb2",
    "CHANGELOG.md": "af974d8b4232f8b3fbb530c2650552d5035c399abd0f8e418749ca78455f0764",
    "CLAUDE.md": "e5d165b9dd947eb70f16a5322d43095f4904c49091ea68ad2d4cf9a422402444",
    "LICENSE": "8e909d09374b4e0a15c65a9fef2715fb5f8ca1e625786387ab4aa4f73ae8439e",
    "README.md": "a77cab65030fabd216cae301692c461d37a94c3db982d2d689ad8070408d886e",
    "SPEC.md": "0f706184bb8645bd9f0a54aef570bed2dc3775752b8da44b7feabd3bafd84400",
    "STATUS.md": "57f0f5e850987baddd2bf7a2eed0f23a598a99addc7fe32f79416415a2b294c4",
    "bin/beacon-iterm": "75320f365a41eb7acd1230294b8e1118777b6a779a5267eb3493a4f4d2037714",
    "commands/install-beacon.md": "605d0698b7852aa2bc2c61092a227aa16489bc2fb9dc97cccfead3a23aa96477",
    "commands/pause.md": "8e6344dbde64016bd104aedf821afe49dedb2165a374a800f26f1f625b2c59c5",
    "dashboard/index.html": "72ade152fc04d713552453c3d5485b9343dfd2de3e998ee837fb06d739987a86",
    "dev/demo.py": "4ac60ca1d8564e08b5a4acc244c8caf189e8de25e98f5c51715735992374ab96",
    "dev/iterm-release.py": "26b4615fb1f5858e344f92b1d045ec027de8faa22f56ce8bda50f5ba774f91e1",
    "dev/iterm-reviewed.json": "6bc917448e3b06a436753415b3280ec6b45a92d3e05de2ecec9a3b243533c4a2",
    "dev/statusline-demo.py": "97ecd1e7031aeaceb2153fa6fa8c197b82a62382520cb532e225fce737a0a321",
    "dev/tab-matrix.py": "792cc524371588cb5d2ee40124238d36af1e54bf49da58b9fc6b09cc8163066a",
    "docs/README.md": "b92903f251220efa903aca66f20a40eac4c1b36ee32fa4ddb9ded43ccd6117cf",
    "docs/_sidebar.md": "877a3af146bd49bf44b49fa8733e9b08135d0557a23ce8614817695f507e5d05",
    "docs/demo.md": "a75e877a3932f5d3c3815a14520fc027ffcd5d66a6524973aa1a47183e94bdf6",
    "docs/favicon.svg": "1f87ec8c9978c074c83ab05b79327408000557855cbb4370a2aa5a5b00941500",
    "docs/images/demo-card-waiting.png": "54b943680ed5fd6a4f6d68b7200f9051780691ca643afbfc2c70a60d45bf2a52",
    "docs/images/demo-sessions.png": "07ad902741a33905803afad527c284da212751b29917bb429f807a689aafe3c1",
    "docs/images/statusline-merged.png": "450d1802f8f4c0e9658288b61f2506f3f503d19aa3ee70265b1338c757fda04e",
    "docs/images/statusline-multi.png": "245cda93396fae0e492fc2eb0670bafbae1d3117f57869fa50ccca733f6bfc2e",
    "docs/images/statusline-paused.png": "60496c3dd6a5df10735ad0c6acde59004b3bc04b5f6b75a2901c940ae48b589a",
    "docs/images/statusline-single.png": "7d956c86863bf0c7a616da58a314d400b9b90242da911ec3a80cb754e12d1da9",
    "docs/images/statusline-stack.png": "ed9b1461b0d1d257d9c319ddcf40a2106804e5a31e62304201e60f6344b8d904",
    "docs/images/tab-sizes.png": "47f1f2ed4d73c9412591ab00e344c990b17ad4c050244c9d9175d2da6d677113",
    "docs/images/tab-styles.png": "6e51cb0a85b037981f60d80ac3bdf8385406162d064c1277d86aa2f000034fb6",
    "docs/images/wm-done.png": "d8df096a9f2e8f9dffd3e50f97a2b47c4cc4f64f3d57dab74855d5ef07af32e5",
    "docs/images/wm-pause.png": "eddd5abafbcc4cb631c00dc7d6cb1658a398b4cdd5b67d25d4cb06ae08c1a12d",
    "docs/images/wm-release.png": "1de4079f2a50c4eccdf6cb96d718f78b0ec5e88d4ff25c70485ea6a3c0b4763d",
    "docs/images/wm-retro.png": "5ded5b3c54014e5edaf4126838609e809c467bf78f7f2e4139bc20b771ea6019",
    "docs/iterm/layout.md": "6a0052420e2a19f4437f71307e889e0a34641d0d736e43e704ba634026bb0228",
    "docs/palette.md": "60a9bc49b966bd96db05d5f308efc5d66f7c83f9772536d3033e487686853ba8",
    "docs/program-status.md": "d4d7fd03c72237124c7da0c0def8b49ab549bc485b41537750a14818a786426d",
    "docs/statusbar.md": "d5aeb9c0bdf7841d78870b2cdcad1166dafd93026fe669639d3fa95667f28462",
    "docs/statusline.md": "37a5807caacf2dce7860aa0c813f4ee59ae6ca2877fe1e028fbaa0608344bed0",
    "docs/why.md": "841088100a949e08a6aeac348052202af4d60d7c02d1eff4f22e5c8ecf5a5a3c",
    "hooks/cli-freshness.sh": "416f43842a9a44053ad0009bfd1401b4c4d3d8c8968d9ed8bf67588a3cc418ee",
    "hooks/emit-rules.sh": "1b8fd7274aaf76ffecd949a8fde1526d15c0cabfdfc27e727347305dfa836d8f",
    "hooks/hooks.json": "dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8",
    "hooks/hooks.yml": "dee0f97786588e372e5442a432b60211f17e5df98984b5f04b4b3a55bfcdbeed",
    "iterm/make-bg.py": "f65883a13f8ee0182f404d98379ca04c6f5f7704baee4c5fb3f08580cb638307",
    "iterm/marks.py": "6ebdf3e4c58cd61d44a36c11d15fb919fd85dc49176094cc985fb81ca9d3b4c6",
    "iterm/profile.json.template": "cb0a166f662847939759a07a2ebeb5480fd1c05e2d3fdf8e4cd3bfc1811ff5b8",
    "iterm/resources/done-bg.png": "c05d9ce655636ae704025206d0fb86e53001a3b4e44d4454e0ff5a0d2e404159",
    "iterm/resources/done-src.png": "bea5848b79157ddff4161e7a634fe9274abdd93534847632d42b9f6f05442cb2",
    "iterm/resources/pause-bg.png": "a406ec3e0bb5a74b4e7cb3c37b4e17290d62e2a99020e467d02a9c215184bd44",
    "iterm/resources/pause-src.png": "2ad697721e4257402537899bc5f9aa324a28248326d843fd8be7fc5d426a7b38",
    "iterm/resources/release-bg.png": "0967fa2edc6e25ac6af9a997ccb24ad3d945a7cbd0cd905300f1101480731acc",
    "iterm/resources/release-src.png": "9a217dada2f679ded926605c7d34f8cbdc194ce6d81bfe2de9b01bbfbbda4907",
    "iterm/resources/retro-bg.png": "b1f8231f67837e5fe534c93c7923126158eeb9fbe1b2062fa55a87d7d5253704",
    "iterm/resources/retro-src.png": "4d28fc04edf4cc745ae18cc8a05010b78ea635f57b6979d52dcc9a99e60a4440",
    "iterm/watermark.py": "7109bd9c66a6533b8a3dd6151a60edf88c8a9e61160419244ba8bcbc6c7c5f58",
    "justfile": "a35844fef92cdbae4c880ff38243caf5163026e51b18b3c1139845ef410b9642",
    "plugin.yml": "573563ed89a59f4b210a7c98c5cfe940b8157523636d31ac4b59994a604a1766",
    "rules/keep-session-labeled.md": "d566857c81bf3e61e5f0a7daecbff1d09f59c041e9cedb9534027150c2a574a8",
    "scripts/beacon": "80f4fd67ee4ca9483f177e67f3ae56912b2be24d1c9d50c986696bec6d5610a3",
    "scripts/trial-off.sh": "7df339a8764d12d656ec2e99237c7968aee084fd312453cbc500d6d6a72a09b3",
    "shell/beacon.zsh": "60f7dba6512ff9e5e79524cecf50c796a8c2a8bfcbf691bd5815a20d63c65aef",
    "spec/cli.yml": "32f557db3c472327e73e74d79c2d66b1114f983d0b0c8d720825c927931f208e",
    "tests/test_beacon.py": "17dde98b3a0badaf78f5d5e77cce09dc48b286854fca7f5054185fda60a11fd8",
    "tests/test_iterm_release.py": "275be9d9ed6ffb6a1d902a026fad46ac2c73c280fede3eb79efb6ef97c372ef4",
    "tests/test_wip.py": "5bf89fdadfa2a37f6e633ec2c8fd3d0f3d3aaaa47cc5676e1d1f3101f96aefc1"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-22T06:35:00Z",
  "source_date": "2026-10-21",
  "discovered_date": "2026-10-21",
  "retested_date": "2026-10-22",
  "reviewed_date": "2026-10-22",
  "published_date": "2026-10-22",
  "modified_date": "2026-10-22",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit faaf45bc367188754aff2ba8b1b2bbb155cd7192",
  "claude_code_version": "Not applicable: static source inspection (commands.json).",
  "model_id": "Not applicable: static source inspection (commands.json).",
  "scanner_version": "Not applicable: static source inspection.",
  "rulepack_version": "Not applicable: static source inspection.",
  "agents": [],
  "disclaimer": "This record lists declarations and file hashes from a pinned source tree. Git command results from acquisition and static inspection are retained in commands.json. Scope: acquisition and static inspection. It is not a security or quality verdict. Changed bytes are outside this record.",
  "commands": [
    "Ran 79 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."
  ],
  "prompt_list": [
    "Not applicable: static source inspection (commands.json)."
  ],
  "history": [
    "2026-10-22T06:35:00Z: pinned source inspection"
  ],
  "application": {
    "name": "chris-peterson/beacon — 1 skill",
    "softwareVersion": "f8a301d4351e34ae43bf43f0535294cd7c3cf8d4",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 79 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
    "sinkhole_log": "Not applicable: static source inspection (commands.json).",
    "canary_log": "Not applicable: static source inspection (commands.json).",
    "scanner_output": "Not applicable: static source inspection (commands.json).",
    "normalized_text": "{\n  \"listing\": {\n    \"skills\": [\n      {\n        \"path\": \".claude/skills/iterm-release/SKILL.md\",\n        \"name\": \"iterm-release\",\n        \"description\": \"Read a new iTerm2 release against the surfaces beacon renders through (layout prefs, dynamic profile keys, OSC controls, profile loading, Apple Events) and say whether beacon is affected. Use when iTerm2 ships a release, when the user asks whether an iTerm2 update breaks beacon, or when `just iterm-release` reports releases to read.\",\n        \"files\": {\n          \".claude/skills/iterm-release/SKILL.md\": \"e433d9560b217baf52c846795ecfb9409c7c17e75a8824a774ea5c226c7ec714\"\n        }\n      }\n    ],\n    \"hooks\": [\n      {\n        \"path\": \".claude/settings.json\",\n        \"sha256\": \"de6ac280bd329080943ca43e42fa6f21410fbd252283f233c887a8685cb9e0ab\",\n        \"event\": \"PostToolUse\",\n        \"matcher\": \"Edit|Write\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash \\\"$CLAUDE_PROJECT_DIR/.claude/hooks/remind-update-completions.sh\\\"\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"SessionStart\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook SessionStart\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"SessionStart\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash \\\"${CLAUDE_PLUGIN_ROOT}/hooks/cli-freshness.sh\\\"\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"SessionStart\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash \\\"${CLAUDE_PLUGIN_ROOT}/hooks/emit-rules.sh\\\"\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"UserPromptExpansion\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook UserPromptExpansion\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"UserPromptSubmit\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook UserPromptSubmit\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"Stop\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook Stop\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"SessionEnd\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook SessionEnd\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"Notification\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook Notification\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"PermissionRequest\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook PermissionRequest\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook PreToolUse\"\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"dff0cad93dc556c3ef47ad2130e7df31b63ab9649b9e1bc3a6dab0e3a46f23d8\",\n        \"event\": \"PostToolUse\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"python3 \\\"${CLAUDE_PLUGIN_ROOT}/scripts/beacon\\\" hook PostToolUse\"\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "94f0a38bc9080b1a01390110db73d3f6abb688ab9873a847884e7bc1a100867f",
      "commands.json": "c8fff5f77c5826440a505b15f7144b47d005b70c6de211d91e343d45a55868d8",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "8f12284322c28b6074a1f0d16d8732fe3dc948dffa5b6747d8a420ec30764274",
      "listing.json": "c5c3a5398b913c56fbdd5d9990a84cedc99c1680b3dc26818c8a0d08f78cb127",
      "selection.json": "12cdc2f45a19eefd7679ec9d7a51102ec3d06c1d983f330cdbdef921d512f6e4"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Pinned source declarations and file hashes were listed.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "listed",
        "field": "outcome",
        "text": "Listed 1 skill declaration. Ran 79 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "tree",
        "field": "rule_results.0",
        "text": "The retained source tree matches its acquisition manifest.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "declared",
        "field": "rule_results.1",
        "text": "Declared skill names (listing.json): iterm-release",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-22",
    "reviewed_sha256": "0bfad43a85efc40dac14ff44089d64aa1676c308dff484e37680c9cf01aac771",
    "gates": "0ce6d8ccbe5a23b008ffdf2c20b095ceeacd220f6cb8ca7bdff4cf8e54366897",
    "codex": "7d705861a8929ff4b734d867d76c16f77e0e737bb3d73f5ebe043c2b3e233470",
    "grok": "64f2b359d2fd1cbe3cf43ced66492d115f4c0f23ef58452d97768bd2b0ffea24",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
