{
  "name": "crafts69guy/orchestra — 3 hooks",
  "slug": "source-hooks-f7e7b70b9d2443b37d203f6b",
  "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 3 hook declarations. Ran 131 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; PreToolUse; SubagentStop"
  ],
  "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/crafts69guy/orchestra",
  "documentation_url": "https://github.com/crafts69guy/orchestra",
  "commit": "0923d84e2c6a0612891f8407fe0f72a301fd5f8b",
  "tree_sha256": "43936e0217238cf0d3fcfe42b135a3725040383069fb266984fe8a250f4025dc",
  "file_sha256": {
    ".claude-plugin/marketplace.json": "2422debf153208c426a4bf5c91484f6885406084417dae5a34969cd5a4270d25",
    ".claude-plugin/plugin.json": "1cee828ce1fe70e84a66899ca15865b7e546ba06e9d81e82e6984903be7c3724",
    ".codex-plugin/plugin.json": "0b109321f157563c95d33d79d42ba6bd0e6b852f6db58db7f5a77e9f86d83fbf",
    ".editorconfig": "6d6796f174b736bcd7a68999e30d2f19a3719ad92355dcc0cfdfce8a66864553",
    ".github/workflows/ci.yml": "10b0969037e820acc3a7375dac124dc20f9514d6ce2d027e128dc805a67e1b0d",
    ".gitignore": "a88b4c706d4c75ee54046d786bd9eb7ac7d9d4b74091b34dd99888638da7aad4",
    ".markdownlint-cli2.jsonc": "d01991aadce3ebe09f7ac53b89b1fba4d2b24c8be58da3c2b78b18bf69c004de",
    "AGENTS.md": "7ca2c9c3e073dea8111a1311a33fbd99b6f98a1fd1db9cd9be01c6c758212b66",
    "CLAUDE.md": "336cc4fbf19beaada7ccf9986414fa91851a8d7a07dfb3ccbe800a69eed0ab49",
    "LICENSE": "f863ddcb16a0c5e774469381c7d6e0f164004762b4f4a9ab29887d170f52ef50",
    "README.md": "4ea5843c97aac31c2606f69a5ad8ad5ba4883815139307203f6d32bd7c14401d",
    "agents/.markdownlint-cli2.jsonc": "af79829d0e94eecdba99e0e3e302d0e65c7448316457be0f57074f53f58c3fd9",
    "agents/implementer.md": "6d8c2c699a5dc20845d5611f17a5424a56942dcda801a49315818cf619f9ead9",
    "agents/reviewer.md": "d5228e5482374df6afc68db07d5eb03bfe2842a5f28f5bca438a436f8a136ef5",
    "agents/scoper.md": "5801d80c2d409fc006839437e4e6a0c96de3fb24973dc41279a48c098beba5ba",
    "agents/shipper.md": "d48ce3cc630dc6d372a868fb266de06e1707d4746e05048614dd5189953a4d7f",
    "bin/orc": "fa1fb74d7782e8f6d64d24ea23b03811da778a72714f9799857b74dd3e7aae44",
    "biome.json": "57a0dc4d9f43d381b73aab27537403a5cb19a518af4a0aee8aca43ec8c703c78",
    "codex/agents/implementer.toml": "7c7ad1fefe745a7a402dfb10c73afdfc25b051514a554ab92b76c3edf58bbfbe",
    "codex/agents/reviewer.toml": "c6015e6803fab451a708b599a804109ecde4b4a3ebbadcc96de7c7d03aeafc9e",
    "codex/agents/scoper.toml": "d9d12c4dea62ad9035ab49da706f3195bd165a430690b15f4bd0a2cebfd277b4",
    "codex/agents/shipper.toml": "056b4bb3bba3dca8f2ca184620491f2bf59b35d23760b95637dd58b8949b1ccb",
    "docs/ARCHITECTURE.md": "44e07a589358da4299d6f76ac16a0194a9ff9af084fe01481587884a7102e528",
    "docs/adr/0001-single-source-cross-harness.md": "1c17f4c252d038fd2d5a7814248884d6899ce9db7eb951a35ae4f55f59282010",
    "docs/adr/0002-worktrunk-for-worktrees.md": "0560852edb63c0103ce4eeb502caff09f1807ec238e450acba9808ea6d7f476c",
    "docs/adr/0003-env-gated-activation.md": "425499dca92a8aee9cd6a0de9974a72077a0f1265c3b1e9590a7d95dc4a94ece",
    "docs/adr/0004-node-hooks-and-quality-gates.md": "4f5b09eb730457e017c8435a4e1ccd6030c617ebaa55c62d275c8b6b91af20d8",
    "docs/adr/0005-orc-cli.md": "cf4844dc810193ce3b5c338c4ee68744b42009d484ad7d0fd2631991cda8a0e5",
    "docs/adr/0006-dispatch-threshold.md": "60151d96488b2ad2b0e239096152f9fb83d9614f6eaac276680e2ebfad3c59f2",
    "docs/adr/0007-ccc-integration.md": "7dc1ad94fcc84c91a9311974f1d824465cd33ec9f419e14450ce6bc8b313e8d3",
    "docs/adr/0008-orc-context.md": "b4fe1633e02b79e35f17e2a9a4f14f84597074fe5204d2b59a3d33b8f8d77172",
    "docs/adr/0009-herdr-pane-workers.md": "71c3145baff7d2db9456912014a50294bd3ffcc1f1d23011592d207d6b694d48",
    "docs/adr/0010-json-contract-for-external-clients.md": "d71cebfec5b8194bcee18cf2e9a2d9d52ab567508cc1a96cdf00a6a0676e9b32",
    "docs/adr/0011-inkdrop-feature-note.md": "d1c05b7c8bf3768f66957580d66b0a79548118fe3b0ca79e01ea0f5918906ec3",
    "docs/adr/0012-session-worktrees.md": "03e408d60800dc45e4058b795412e9ee9a786df4fe94f40fe89d3f02ead69cf5",
    "docs/adr/0013-self-improvement-loop.md": "45c15cbca79fc59a0f6201895ad7ef13086b5156364675354aeb1215b491f36d",
    "docs/research/.markdownlint-cli2.jsonc": "2856f50a24d48c8931fd5cde70e6bcbef738681cec44a234d97716e52b15da9e",
    "docs/research/benchmarks.md": "460e1f2de5c2133bcab81f050b9c26d4513d6899daaf4df3500beac3154c6e4d",
    "docs/research/codex-cross-harness.md": "6f6140afc525ed05a9285a0afbd912a44c893daafdac9f18f5a32ae72739b5a5",
    "docs/research/inkdrop.md": "f4394db9c3a4732de5ba0e4b6a848db9a7b56891dfdc33994c86acc333a4c849",
    "docs/research/orchestration-patterns.md": "68b40a0962a7f8d0dcf8a46f9ee42c0ae4c304cc07a86068de3f063d31c10cee",
    "docs/research/p0-findings.md": "63a2f4bda697d35e03390216ac1e265baf8344866cbfc84fded25cce521cdbd2",
    "docs/research/raycast.md": "efdefd33f03436a00eb811025b1d0727683838c685b0b90079b55675e05b2e05",
    "docs/research/worktree-tools.md": "d2c71e7a926932653896da9e374ea21b266cceaaf98eb84c80f7d29dd560e8ef",
    "evals/_support/bench.sh": "b8c0825359f1dcc2064321f601db5dde5aa751d57f1a303ca7e874d53eb6d55b",
    "evals/_support/build-plugin.sh": "cdec65ea877899c98a9f7cdf5e209e1074bdbd48ba5179a9c50e518a7c7a37c7",
    "evals/_support/repo.sh": "f2892694002d54a7f749b6521e4190194bcc129d4dfeffa454beb28f3ce8e4bb",
    "evals/_support/run.sh": "28816802e0ca099fbb46a8bf742dba3842006ee3e6debdb1abd5f26fb5dd2ca5",
    "evals/_support/summarize.mjs": "1619e4b0a30283ac039e2d55a48784f4203c37d533bcf432c443509d259c0fb4",
    "evals/batch-small/case.yaml": "9474dd3e0f2e88d709e519f924c0077d0c41706e66b3bb931024a23140be20ba",
    "evals/batch-small/fixture.sh": "19638ff5e2beb4bf581ff4885779ad8d9cb209cd2882f3d509ad6fdf7005a321",
    "evals/bench-large/SPEC.md": "edd430a0a9681e58b9f5cfc0f3b359abb57311906b1696657d64dd35c76546ce",
    "evals/bench-large/case.yaml": "a0a2314868d574ed679fbdb4afa15824eeb6ba360ee8e25c965d8ff5e0f4c902",
    "evals/bench-large/fixture.sh": "55f155a2f5f8724466bd2157c67da890160920f7a26b6c0b3fac16cc47bb14f3",
    "evals/bench-large/hidden/cron.mjs": "377a42b9c841ab8ed8f8d0701c86315227671fd92838a6a5d70e4ad7600ee156",
    "evals/bench-large/hidden/expr.mjs": "9323d9bd2b16f0d97249c431a598f62867a635572df90f4caa2abc9468af706f",
    "evals/bench-large/hidden/schema.mjs": "0a3c256b438e46f11094335f897e2eb53ddc65f2c046740bdffa12f22091de30",
    "evals/bench-large/reference/cron.mjs": "91705c5e44d67674a08a07bc68e0afba16fc806db8bd3f50d1b5ddf8c60d193e",
    "evals/bench-large/reference/expr.mjs": "e8466b788076c8e3649ff53a327037eb07d9306572c8c49b65b42be1a1b0c6d2",
    "evals/bench-large/reference/schema.mjs": "d620492bb811c5501a928f58d6718391e8e3c9956d1d2c4e9378daf864adc008",
    "evals/bench-modules/SPEC.md": "5786fff598d10420ff02768c16939eacf00ae729807c333cea6f70594b8f11e9",
    "evals/bench-modules/case.yaml": "4a815144b2f3c9f6bbfea52b26eb3be4336745a4f5365377aebac364d76cc583",
    "evals/bench-modules/fixture.sh": "f5cf1aa4cebc39edd8d9c3cfcaad6973bb37aa37952dd058c8f66e93e06d7711",
    "evals/bench-modules/hidden/csv.mjs": "45dfb12a04e7d9dbda29b79fa7566145abb48a026076be7b4eab39874578ff74",
    "evals/bench-modules/hidden/duration.mjs": "89a6e447ae4416adb53ee125d31bcfbb0751015b42b5c1a6a192bef39cbddcfc",
    "evals/bench-modules/hidden/lru.mjs": "bde471e3829dc04fdae33627f480dabdbcebba974203f958ad786bb98d033216",
    "evals/bench-modules/hidden/semver.mjs": "8d1c8e60e57b14b77029eb1e2a1fda2023a136ff8d91380020a4ad967cb08ba3",
    "evals/bench-modules/reference/csv.mjs": "32953c8939f869c3db676a6fe5b9a844c9b334af0dbed5a904b00122e7597432",
    "evals/bench-modules/reference/duration.mjs": "0b1db4c27defca1977dd450e754e44cbddd8be8f44fc4c3ac6bd1e101a2ce005",
    "evals/bench-modules/reference/lru.mjs": "6b81ad8ab09fa5cac40fe156fcf42c242b12858cc187c80ae55c9085e5298ec4",
    "evals/bench-modules/reference/semver.mjs": "8c6b469e5b6e303068e2fb9595b239a58e57c3d19964f2993d9b206021910daf",
    "evals/delegate-multi/case.yaml": "269e418fb3a0f9416eba331f9d30c240919f7a2641456d4678c277b9307779b9",
    "evals/delegate-multi/fixture.sh": "f10881e2c574559cafae8fcb1257a640476c90967683d316f672743115618373",
    "evals/inline-small/case.yaml": "6e945a32ccfdbae1e5ecffdce430de41d7c7c618967dc12139b8f504e46fdc10",
    "evals/inline-small/fixture.sh": "3753e506c3c266f98940121c1b1bdf1d59dc1bd237749e41ac47dc8f17c337e6",
    "evals/parallel-dispatch/case.yaml": "98fb145fcc3f8fe054385c55a6f371fdcd93582b82b61c166c1cfa7f9fb2eded",
    "evals/parallel-dispatch/fixture.sh": "41179e2cd9c7a22004b4886db0534355ad8d7ebcbb776fbbf4565b087a78e4bf",
    "evals/reflect-capture/case.yaml": "39ed468430eb0af257707a5b6dc7338341402ef716dbff70aa11b655952a2941",
    "evals/reflect-capture/fixture.sh": "752fad529d09b7dcbee993f034681d7cee52dc4d33174508723cb69c3f1a462e",
    "hooks/guard.mjs": "5e0c2b6b047988e0c024ca879b19676f39b18d7fdce12722f9c174dcaf367cbd",
    "hooks/hooks.json": "87e7920bac737850f829d922e32b3be97a2dc0c296d7e6734ea174d72af879b5",
    "hooks/session-start.mjs": "84d231f9d3d81625ddc0559c276ec0ffca8464364ce8a16e9b0ca2f68db14048",
    "hooks/subagent-stop.mjs": "03f49ae5c84157a40cce052ad4bddb83a634dbd32ea2998381de1e89ade0fda7",
    "package-lock.json": "fdf6780c81203b19edcc0fd26d55061ec55b293f4293fe95e9eb9b6568a8557c",
    "package.json": "f5053896b85a52c8f8b612f2413076bb7e7a6e6c5dfa870c5b7877e06e0ebc49",
    "rules/.markdownlint-cli2.jsonc": "dfe13e2d516b31e5d4cb9f8624fe40e3ba6415858ae7584e2e30aab27bd3b552",
    "rules/orchestrator.md": "9b419454c9da5f5e8418b93d7d82c4059d4d412a49fcb561ca3e0eb55c801837",
    "scripts/ccc.mjs": "31952f0cf9839adb95cae917174fa3d69bc4444ddc345fb55e02bc869147f40c",
    "scripts/context.mjs": "af513e16413855ec41fb848e97f5c7acad4774e1868ebbf5254567ca53181018",
    "scripts/doctor.mjs": "5bbf10f8d28e3b3623f43963b800d3a030e22935754bcf570278fa1a48404ae2",
    "scripts/gen-codex-agents.mjs": "2c28f33f228c1c7afc17d1f439f4fecb0be92989664f5877ce55feac51840594",
    "scripts/inkdrop.mjs": "9374ba0b5d83d49aca60d20fb0067e7e16a8f64909ed19c80151bda38b9daf41",
    "scripts/lib/frontmatter.mjs": "7ef178ed7eb94b5dbed634e7e79d80e5bcf489fd8826d3e0392515a491ab2ee8",
    "scripts/lib/lessons.mjs": "9c8abe9922fad9fdfa9c0356e8e1ac09d71178edc896eab2b2a5592dfa013542",
    "scripts/lib/report.mjs": "3546533319ab068b76d0f2d42421b37e5147b43d8c4738f0e5240a25ee174d9d",
    "scripts/orc-codex.mjs": "3212365723b4a17e4d3c89326c98d22da9539e5feee08bed1d8caaf76fa0e9cb",
    "scripts/orc-pane.mjs": "4976b35e09f8374c6621a8725d16591fc3e4cafbe577fba327bda7b9c759ad1e",
    "scripts/orc-wt.mjs": "855fb7c6648e7679452363481e370849faed94c20ca279b582ec8e7e0e32ab21",
    "scripts/orc.mjs": "d54ee43ca3da10d2ceb3db8a31ebb46064c3338c59ec1090ccf87ca15c241004",
    "scripts/status.mjs": "725a05344c3755c12df5617d4a2823cfe21bf1cee5f64b91d75c14d83fcd9d4f",
    "skills/dispatch/SKILL.md": "9978f6fc212bb86e191e341dbe5364338ec2a183b2065b9611e724de96d4979c",
    "skills/dispatch/references/claude.md": "527e6c27b4a6de2ac6fcedd88cdae605915a0e5751ede48930f77d6ff7a9a927",
    "skills/dispatch/references/codex.md": "98ab6be39435032d58949cbae504c2a1c844d369e33d9b85f73fb287637a893b",
    "skills/dispatch/references/herdr.md": "f2ba23dcd296f3964c9a35fef8693591dae5c935758bded47e819ddefbc5439a",
    "skills/plan/SKILL.md": "bebfccc40698f16f396d1b8c3b79982540c8e994d7375a6403948471b57dc371",
    "skills/reflect/SKILL.md": "7a928d1d362b2ae5fe5be6792652969d396cf409b925f737261de01b181b73d7",
    "skills/reflect/references/promote.md": "f6aec63eb88ff2d41e9a0904fffe929d063bcd391d010258693c72c294aec063",
    "test/agents.test.mjs": "5121d6b596759086486e71d63c3c92ecbe76e3b0036ff34f39e19d59effdc86c",
    "test/bench-hidden.test.mjs": "9fe2692e32ca19cd76489c4c98a797cefa8c604b147648e438abfaacfb680f1e",
    "test/bench-large-hidden.test.mjs": "40143e0d2f5400d5bb6e7fafa4f9f0e615edb8a33003788feaf464f001509bbe",
    "test/ccc.test.mjs": "b00d02af30e07e8debc341988b56695aac30b0cca4f16e4940afb4d277b5168b",
    "test/context.test.mjs": "6c2f74763d53c9a95667f3bea1b6849acec38fbd0ebc46747cd358c4d2173677",
    "test/doctor.test.mjs": "9d777beeabb31e467d9b776218ae6bffda7485e44f64de32528f55859846389e",
    "test/frontmatter.test.mjs": "d0321f34dcb6994c7f52ebda4ba4a9dcac5b9f2ac8a78ba96e867de508a410d8",
    "test/gen-codex-agents.test.mjs": "be3abc3a1d91c55d0f3f4080bdc81360196aa85e15160ccdcb4ffd82ae1840e3",
    "test/guard.test.mjs": "780ba423f845806b471f7ab0882587608247bbcbb5eb13d0904cead106b473f8",
    "test/inkdrop.test.mjs": "39b6ffc55550972c607d323dfdad6ff82442b5a1162ec79f9e84523bf7a546c1",
    "test/lessons.test.mjs": "0bc144e3f3162a91263b536dcedb7415f0960a67f5824288c30af0462e0b39ac",
    "test/orc-codex.test.mjs": "9e0cd81dd3b4635906e15503730583c2a3e36282b5fbfc453453c502223559a9",
    "test/orc-pane.test.mjs": "16567a374991db3abb38d18bdf345d429be46096daf97912c45d0122d63dccbb",
    "test/orc-wt.test.mjs": "5a9b1906eacdf8fdd4d4ad36931a4aecbeadfd83f04cfbdc9d14107278d79bfb",
    "test/orc.test.mjs": "47042a5a29ff1eec6b5e383974f4ace2ca4dce08aa7a6b3ed358398308c4ded3",
    "test/session-start.test.mjs": "f714385a9dcca259fb1386f3b38850111955c2b467b32420e25582eac5bd58e7",
    "test/status.test.mjs": "1f4ea529b73b0525db52bf4e9366794ef2938ccc9e084093d0375e5f55de1553",
    "test/subagent-stop.test.mjs": "a27726b81f7edb8b28050428639fe2fba98af56948103dae0427d2e36110b6ba",
    "test/summarize.test.mjs": "f23d8032a7d30a01e36567995d149e0f5994e92970c83a01adf3c54b5df77984"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-22T21:19:26Z",
  "source_date": "2026-10-18",
  "discovered_date": "2026-10-18",
  "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 6340946648948018b2b1de96f4e42c350d428847",
  "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 131 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-22T21:19:26Z: pinned source inspection"
  ],
  "application": {
    "name": "crafts69guy/orchestra — 3 hooks",
    "softwareVersion": "0923d84e2c6a0612891f8407fe0f72a301fd5f8b",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 131 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/dispatch/SKILL.md\",\n        \"name\": \"dispatch\",\n        \"description\": \"orc workflow: run independent substantial tasks from .scratch/<feature>/plan.md in parallel, one implementer per git worktree (worktrunk), then merge them into the feature branch one at a time.\",\n        \"files\": {\n          \"skills/dispatch/SKILL.md\": \"9978f6fc212bb86e191e341dbe5364338ec2a183b2065b9611e724de96d4979c\",\n          \"skills/dispatch/references/claude.md\": \"527e6c27b4a6de2ac6fcedd88cdae605915a0e5751ede48930f77d6ff7a9a927\",\n          \"skills/dispatch/references/codex.md\": \"98ab6be39435032d58949cbae504c2a1c844d369e33d9b85f73fb287637a893b\",\n          \"skills/dispatch/references/herdr.md\": \"f2ba23dcd296f3964c9a35fef8693591dae5c935758bded47e819ddefbc5439a\"\n        }\n      },\n      {\n        \"path\": \"skills/plan/SKILL.md\",\n        \"name\": \"plan\",\n        \"description\": \"orc workflow: write .scratch/<feature>/plan.md, a task list with file ownership and dependencies that the dispatch skill can run in parallel waves. Use when work has 2+ separable parts.\",\n        \"files\": {\n          \"skills/plan/SKILL.md\": \"bebfccc40698f16f396d1b8c3b79982540c8e994d7375a6403948471b57dc371\"\n        }\n      },\n      {\n        \"path\": \"skills/reflect/SKILL.md\",\n        \"name\": \"reflect\",\n        \"description\": \"orc workflow: after a feature is done, propose lesson changes for .orc/lessons.md from this session's evidence and apply the ones the user approves. `reflect promote` turns recurring orc lessons into eval-gated edits of orc itself.\",\n        \"files\": {\n          \"skills/reflect/SKILL.md\": \"7a928d1d362b2ae5fe5be6792652969d396cf409b925f737261de01b181b73d7\",\n          \"skills/reflect/references/promote.md\": \"f6aec63eb88ff2d41e9a0904fffe929d063bcd391d010258693c72c294aec063\"\n        }\n      }\n    ],\n    \"hooks\": [\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"87e7920bac737850f829d922e32b3be97a2dc0c296d7e6734ea174d72af879b5\",\n        \"event\": \"SessionStart\",\n        \"matcher\": \"startup|resume|clear|compact\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"node \\\"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.mjs\\\"\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"87e7920bac737850f829d922e32b3be97a2dc0c296d7e6734ea174d72af879b5\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": \"Bash\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"node \\\"${CLAUDE_PLUGIN_ROOT}/hooks/guard.mjs\\\"\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"87e7920bac737850f829d922e32b3be97a2dc0c296d7e6734ea174d72af879b5\",\n        \"event\": \"SubagentStop\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"node \\\"${CLAUDE_PLUGIN_ROOT}/hooks/subagent-stop.mjs\\\"\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "8926151f9885d15274729b0435e3612c873bce0c391977ee11d5f25ed00324db",
      "commands.json": "046cf0311d3ae2cebbaf1e74a008873f498d28f6ff301b56f392a35bdbc27c0f",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "0341a031bff0a50d4d30c6e0d2f26e2b2eb275db3781e14ba61082f25535a994",
      "listing.json": "20b8b7104de635096d121e957712d6f68dff40c713adcb7ce7aedfe8d3705075",
      "selection.json": "ccf828bfb228c7004d3f7277b8472bde4aebcf8265dc58fe96c05b4d28ca0b91"
    },
    "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 3 hook declarations. Ran 131 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; PreToolUse; SubagentStop",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-22",
    "reviewed_sha256": "c569804caa468d167549b414f093c0870370e19ee9f015255be79885cb278b74",
    "gates": "f4526b1d95f40ce9fd415062f24bfb93499f623da7890b4248351b092e9f2db0",
    "codex": "05dc76c1eb4f3c002c8a83d486844bb71db17b460640858927ab7ebbe0a77dd0",
    "grok": "b8d0daaf123f3ade313f5a376d13f3d5e12d6a266f6969c23e89068462815ea9",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
