{
  "name": "coadan/workbench-claude-plugin — 2 hooks",
  "slug": "source-hooks-61c23a374193507bb38412a6",
  "type": "hooks",
  "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 2 hook declarations. Ran 21 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 hook names (listing.json): SessionStart; SubagentStart"
  ],
  "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/coadan/workbench-claude-plugin",
  "documentation_url": "https://github.com/coadan/workbench-claude-plugin",
  "commit": "4aa385bc3ca7e8f4fa743306b862fa9e17694606",
  "tree_sha256": "4a0b587080e132972979b9c45f4d4d02cd0f5f1e83e71338fe2dc35ff13226dd",
  "file_sha256": {
    ".claude-plugin/marketplace.json": "df172265136d4f726ff99bc75ebb51a63fd24fe108def41b86a30bac59a712c6",
    ".claude-plugin/plugin.json": "18090ace0d1c1d10519d0d269b8c9ac14b1fb2506c09cfbd1f9b33a8f861d055",
    ".github/workflows/ci.yml": "3da4d05da683a148150562efb5ae522252e47c1d4d14c5881a6fb3e7fc9b6cd6",
    ".gitignore": "81733b768431a5d9788d990edd80d91e15487f9a3d4a8c74ca3d349ac01b59ea",
    ".workbench.json": "bb06f7a49ced48ba2443cb4ed8a7fb68889dce759467f85bcbaae2ef778863a0",
    "AGENTS.md": "1a6818649eade7219c382e9b8a71b1a820fdc43dd9dab15c0c03c9b3f1a581c9",
    "CONTRIBUTING.md": "d25e78f2643ecc510adcce6f6677583e7b3fe7358ee5f0ba2d1dd58c09312e9e",
    "LICENSE": "3f5a38dafdd0383440e7517f0ba342efb5f64de81a913e24a9b0f26f96a1a7cd",
    "README.md": "a9473ae82722915895951406012af10f260f01113595b110da2f4adf3affb55b",
    "SECURITY.md": "91abca1f94d0686cdeab843c22fd06e46ee42f0fc90b63882f91f8f9becf7719",
    "hooks/hooks.json": "246e09c02f09a353cf4304132911ff00e0b2ca85b7cbc48c4c72a43ce4c7f0d5",
    "scripts/workbench.mjs": "459d97265beed6b5355818c05bc12fb8dca9cbff5a614199901ca9f5c10a5b10",
    "skills/workbench/SKILL.md": "d2edd11c278d995f944a10c77729a4a65fb2ed1f7089ad91cddfa48843f867e0",
    "tests/app-worktrees.test.mjs": "a22770355488fb3761508582396bfb5d38b791b234e7b7b4aae37ffe4eacff8d",
    "tests/fake-gh.mjs": "2dbb6788ea6eb2d5c209ce79830dd5c7d4e0cd55553627a0c8d7de3e340aea23",
    "tests/workbench.test.mjs": "cbfc5206c366bc3b7f1f6d1bfd24a3b333c31f871d35e4a87cdec3ca9e0c1a25"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-22T15:10:10Z",
  "source_date": "2026-10-22",
  "discovered_date": "2026-10-22",
  "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 4b91f622fc862623dc2b1347f87cac9fa4b08bf9",
  "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 21 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-22T15:10:10Z: pinned source inspection"
  ],
  "application": {
    "name": "coadan/workbench-claude-plugin — 2 hooks",
    "softwareVersion": "4aa385bc3ca7e8f4fa743306b862fa9e17694606",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 21 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\": \"skills/workbench/SKILL.md\",\n        \"name\": \"workbench\",\n        \"description\": \"Plans, implements, verifies, reviews and delivers a scoped change in its own git worktree with the Workbench engine. Use when starting a task in a repository that has a .workbench.json or .git/workbench.json, when splitting work into separate branches or PRs, or when landing, pushing or closing a Workbench task.\",\n        \"files\": {\n          \"skills/workbench/SKILL.md\": \"d2edd11c278d995f944a10c77729a4a65fb2ed1f7089ad91cddfa48843f867e0\"\n        }\n      }\n    ],\n    \"hooks\": [\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"246e09c02f09a353cf4304132911ff00e0b2ca85b7cbc48c4c72a43ce4c7f0d5\",\n        \"event\": \"SessionStart\",\n        \"matcher\": \"startup|resume|clear|compact|fork\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"node \\\"${CLAUDE_PLUGIN_ROOT}/scripts/workbench.mjs\\\" context\",\n          \"timeout\": 20\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"246e09c02f09a353cf4304132911ff00e0b2ca85b7cbc48c4c72a43ce4c7f0d5\",\n        \"event\": \"SubagentStart\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"node \\\"${CLAUDE_PLUGIN_ROOT}/scripts/workbench.mjs\\\" context --hook SubagentStart\",\n          \"timeout\": 20\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "8f2b488e2bc17b7cd0a298ae8774b83be3361204ec1b9e02d169708157b7c62d",
      "commands.json": "458d6fb383531a72761c520477c2deb990dacb122764a41db65a8a8864744227",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "e906974f4cab2923872967cc5b59c3af3a8f37855f8512355de7d036e165bcfc",
      "listing.json": "f14e0bb46e047a5a9e64b3c624b9c730d1676785edb62ad731decdade6f13ac6",
      "selection.json": "20740abbb9b1515390612cccb7c5f32d5deec9039f6b72677cf6c5cfa8af4c5b"
    },
    "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 2 hook declarations. Ran 21 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 hook names (listing.json): SessionStart; SubagentStart",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-22",
    "reviewed_sha256": "6b3412c8ab8abd733cffbeeb44a3829ac4525bc2f9866d6a217cb3bbf55b9231",
    "gates": "1ca8f3c38f7131d5cc6080656b5f8b9d5f22ddfe036e99e0a3d63bbcaf7ef6fc",
    "codex": "9afa463ec4a9142cc45a9fc23703d71a2ceda6db866a3369bda5b311f308d3c5",
    "grok": "64beb66b6190742f71af17c20b433d3db143255a5575969fab7bfbe0f21cebdb",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
