{
  "name": "backthread/add-reasoning-to-prs — 1 hook",
  "slug": "source-hooks-bab7b921e71fc996e3a90cb1",
  "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 1 hook declaration. Ran 67 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): PreToolUse"
  ],
  "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/backthread/add-reasoning-to-prs",
  "documentation_url": "https://github.com/backthread/add-reasoning-to-prs",
  "commit": "9a3118b2c54a6ecc56c19a5f28fc8a1e9c62c9f0",
  "tree_sha256": "3cc3c5c90d4f61be305122d4cf253ec7b3eae664722462c0285abfd2ce7bd792",
  "file_sha256": {
    ".claude-plugin/marketplace.json": "9cb3fad135d16e3c42d5114a8d11173ce402a37bb17fa549e6c5e6e672e920d9",
    ".claude-plugin/plugin.json": "ca2fd53d78199f21611db02c843d3da3c5ce8f89e227026b20c2b1047264b26a",
    ".github/dependabot.yml": "b474bf215fa9840c1e0b638a508b71374cc1f663fa41c3e181719d21b8b0e71d",
    ".github/workflows/ci.yml": "bede13622a2e295fa778692c333c1d9c4ca9ac6686f906c9447bb10c7103b211",
    ".github/workflows/release.yml": "172b797902efddf3b169090be55657e998799215e1a2693deae2b37533380186",
    ".gitignore": "8ed99b1275e8a06a6da72f03ae909cbaa592f6d54614dac26c66eeeeff0fac7b",
    "CODE_OF_CONDUCT.md": "ea912f672c48d017bfd9c38a8654fd85f7a8f3673d8655b2627bd761e9598b32",
    "CONTRIBUTING.md": "1e51b06d31e9fa0c6fcd74d2cfddbc3111fe21503e7643b81c295716b7af0f52",
    "LICENSE": "089de794665ead783568424f599ad6f9409c916662797de1fd77505c4e1102ad",
    "README.md": "dcd0a9ca7e797441083ae05baa7f20365aca0ffd9a199e706b803c5cc0cdd625",
    "SECURITY.md": "dbc03d0b7e2890695034727c75eff5e5524b9cecac59b63a0a9ce05868027072",
    "assets/demo.gif": "ad8e7b7eafe576f68b7a4f7de222d51551a79f815478cc285029ac765a19a9df",
    "assets/demo.sh": "87a74928fc6645a3ec109785486ab93214542c4dfda17b00ba452dd1451f18af",
    "assets/demo.tape": "aaa9ae61dfa310889ba78315e06621042c67779614506be3615a88c5c508f7c0",
    "assets/og-card.html": "5ff01037c414c23758eeede581b377cd843c5d996a7461aa6b520b492d028e56",
    "assets/og-social-preview.png": "2e2690d7770673c362067e984ad3c15ca80a96f1a3c8ffdb8e4079e1122f9a70",
    "dist-bundle/add-reasoning-to-prs.js": "7aa05e0709645f7877323002eb4258408d88ab2ef8472da28b90a8d8d136392f",
    "docs/i18n/README.es.md": "fbb2880c98caa21c316b7b8cd06ff66c60f6b4d8c1bec536390f9bd1419ea7da",
    "docs/i18n/README.ja.md": "b0f4797439a690c2e34b4e04ea56273db6473ca04c01447ae03cdbeaa6ad9433",
    "docs/i18n/README.ko.md": "fb875034a971c55331f0b3ff84c7621d3a04b08decf060e6e313a1f55bf61882",
    "docs/i18n/README.pt-BR.md": "2fdf65da022a56e8bfd9e1838e1b8196b4ced34387f5643321b0f3159abfbe87",
    "docs/i18n/README.ru.md": "3133ea8f165f5b72344192ade5f93f88f5d129552c03d2e5c3416f18ce9d02b2",
    "docs/i18n/README.zh-CN.md": "9d44f567f6f0be93e5f5c969e12058655b9f1a9c51e395634c474f1cb39ba485",
    "docs/i18n/README.zh-TW.md": "f7c1397ee2ca8ee5be2c7568abc466e9d67d4e8952fb4c6bc11c410dd5939c13",
    "esbuild.config.mjs": "17943c37a04b86435696c361814ff20d2774ba6bf9d350e8cd0d5cb2cfcac06d",
    "hooks/hooks.json": "43e437bfb7727005fdd2daa408a08240bd1ba1fea5a461de0570860d5aae5cd2",
    "package-lock.json": "4866bf5cbcb2ef542216b06ee0302e4ab1cd1eef75e721aed73b1ac3b86d9242",
    "package.json": "cd14d5b818f796aacd170dc3d2694b8b0b6926025c4f1c11469954d991987287",
    "scripts/e2e.sh": "3c822cf2384ae53b1b9057568b57a9798615c27c7c30feed8bd78effc6b5efd7",
    "src/bin/add-reasoning-to-prs.ts": "c96ff23a12fd58ea7869b23b1f3f3cd053f84f32c0ab1876c70812cc19567f9d",
    "src/bodyFile.test.ts": "9f190b9e9cb25e92df87acddeac20d6e1d4969a4b5685d3a6e86c64406b7aaae",
    "src/bodyFile.ts": "a6c5cfbcc06e2ff583f9a9684903306f9a7921b6b78258bc1add78450b9b89a4",
    "src/cli.test.ts": "a95e0d86f1e5042e705201fc36d683e110011002094d5ecf2cdb92507a4c58e1",
    "src/cli.ts": "1c71db93ed75869b6cae961d2c588cac44c2fa7f170a7f0004280dfe983c8a4b",
    "src/command.test.ts": "8aea3a6dd24ae98357e3b8e40305871ff6be4f3596658c5437381a9de078f32b",
    "src/command.ts": "ee6d4159f0d9493fec5b8d3e157b46cf9a62779f7c4eb99caf3db4624e6af02f",
    "src/critique.test.ts": "eeeb7bc83f808ef9c33c05111d46851e778306e00b6de1857316115395b97853",
    "src/critique.ts": "0946f199540f8604dbbd4d143000eda84a41db05a2bd05cf63c02b1dc1a69971",
    "src/git.ts": "bd869822cf08f6d0a954d7ceb95e61bb13468f60568cdf3fc5e58130bce41f37",
    "src/guidance.test.ts": "6cc80744d0b77c8c904c8c74e45a98b33aaf612d56569c4c30c58ba873803a12",
    "src/guidance.ts": "f2694a4576a143dfe0c81bfbbd7f41a8ac8b9ebe8e90366d906bdaa64930d7f1",
    "src/hook.test.ts": "0066b7110dc325935d3164555893dfe150f3cda0f002a2a3ef843a522d4b38a1",
    "src/hook.ts": "2cc79f87d95fc114537259d90b868ce11cc16f021b5ab80a404da52bd76cc45e",
    "src/install.test.ts": "b25aed54926710f43f2b34ec6d9b74259f3628b049878a022b2763e3cad85d49",
    "src/install.ts": "cc07ba5fc84ada2c7797db7303c27e6e9e27abca7d2db0ebf4fac27c9f3ebcbe",
    "src/manifest.test.ts": "ecc2415bab6805a6324a289386ea8b8ff612984e32daf1e631eb70a98b544369",
    "src/marker.test.ts": "57966df4f0b62c2459a30fcb4d15869e23d3d4e0ac405234b5feb3a6c527efb4",
    "src/marker.ts": "9e1153525a1e28ef7987bff3595bc201d219e6b78b7e6cfaaecf70bb5c3e903b",
    "src/promptState.test.ts": "97e2d5043f9683b0fc47917a272d5fa9cd0b04fc502fb1187538456456174364",
    "src/promptState.ts": "fa3eb71a5e19a68c0cfb78e44720ff5f81d95cb7ded0465630c7b30dda08a4c0",
    "src/repoConfig.test.ts": "9d0f7eae1b10b944843872f5998acf59873365d92f8d70dff1a9b0211b5f7c20",
    "src/repoConfig.ts": "1f75da1c6d432f63fa586dea2b62be8c3dd24f4664b88636df6489977c7ca4f3",
    "src/scratch.test.ts": "627e304e42417f76a4814fdb2e5fec03d58ef24927a5ed1b0dcc70d519ff3a5a",
    "src/scratch.ts": "8d2e6c031096c62454a63a1231c300c264f10f4823a7c92df4baf690f5de7999",
    "src/scratchCommand.ts": "3263752ca1218bdacd200cb0f80f042a891130bfd4a8c909e84684ad84b3f779",
    "src/stdin.ts": "6137b58d8336210eece69654b12cb55a8d86e35827580da84e1b2804c310f9c6",
    "src/template.test.ts": "bb6af4c4a163c2b9e811066dc19c8b6e476c19ff62fda6c298fc9c5bc5e6d0e5",
    "src/template.ts": "4fc25767b9eefe7cf0287b1796627bc473ef306d085a3ff6908cf4646ac54eae",
    "src/version.test.ts": "a452b075d4f2409872c56645ee9f03904b01104faa4c46e1fd7ad099a22a3fc5",
    "src/version.ts": "94bd8fca47320da59b8efcf5ab5e070212c8eeb97563bfd5a05d9304f746914d",
    "tsconfig.json": "b4052cf07c7cd5ccfa051925d7d9ba9ea8ec3bedfa927824a8901d7fec899fa4",
    "tsconfig.test.json": "210cb955b7a381ba4347f263dd412f64dd01be3115caae0485b418b613bbe9c8"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-21T09:14:04Z",
  "source_date": "2026-10-16",
  "discovered_date": "2026-10-16",
  "retested_date": "2026-10-21",
  "reviewed_date": "2026-10-21",
  "published_date": "2026-10-21",
  "modified_date": "2026-10-21",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit 89eb282a74a6d72838253d04804ddb95ad0a7d20",
  "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 67 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-21T09:14:04Z: pinned source inspection"
  ],
  "application": {
    "name": "backthread/add-reasoning-to-prs — 1 hook",
    "softwareVersion": "9a3118b2c54a6ecc56c19a5f28fc8a1e9c62c9f0",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 67 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    \"hooks\": [\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"43e437bfb7727005fdd2daa408a08240bd1ba1fea5a461de0570860d5aae5cd2\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": \"Bash\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"node \\\"${CLAUDE_PLUGIN_ROOT}/dist-bundle/add-reasoning-to-prs.js\\\" hook\"\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "49790316a68537ebb65a7f97e8ac5973c21d26d45424734e7fe55d7319205d04",
      "commands.json": "3d53a481c406411224ca36c67809626cd1232cbadb6da573e1012ce86cee0ecd",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "620b3744edf878dd96bab1fe640626e2294ded739bfe829b0e8c2f9d6a07728f",
      "listing.json": "c4e800a6afd056ad18e370be020df07243c7f13f54c7b99a48b844ec1104220b",
      "selection.json": "41766fd4a9c6175d70545cb5ea218f02b12fe89c6528308986313c43799abc62"
    },
    "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 hook declaration. Ran 67 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): PreToolUse",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-21",
    "reviewed_sha256": "5bf657d033b2859ab2f2bfa0cc00674f79bc2c8cbf6411091892e1ce2be9203b",
    "gates": "d67d33d0b8ef894d240ce1eb2de3a60331099d771339a9af98c169d09034fe99",
    "codex": "f0b90924b7c461c36a2b104211887777b50c56c2c561384028b9fd29afc111bb",
    "grok": "e946e135ac793f3a63589c54c64e8c50a49151fa1050a27f3937150cb9dd5455",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
