chrisryugj/fable-ish — 6 hooks
Pinned source listing — machine-checked
What declarations and files are present in this pinned source?
Pinned source declarations and file hashes were listed.
Review
Machine-checked ·
- Run UTC
- Reviewed
- Published
- Updated
Observations · Limitations · Evidence
Works with:
What we ran
Git blob acquisition followed by static source inspection.
What we saw
Listed 6 hook declarations. Ran 30 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.
Limits
Scope: acquisition and static inspection. Command results: commands.json.
developer-tools · hooks · Upstream source · Upstream documentation
Pinned source inspection only; no runtime platform was exercised. UTC 2026-10-22T12:15:50Z, tree c6c96154096bf1cef8921669d4311248173884a475e6e942978f4c6f650f25c5.
No browser or computer-use tools. Pin this exact version; the stamp does not follow updates.
Full record
- name
- chrisryugj/fable-ish — 6 hooks
- slug
- source-hooks-a1ee288f7c7808661bb3fd47
- 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 6 hook declarations. Ran 30 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): UserPromptSubmit; PreToolUse; PermissionRequest; PostToolUse; PostToolUseFailure; Stop"]
- 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/chrisryugj/fable-ish
- documentation url
- https://github.com/chrisryugj/fable-ish
- commit
- b03a5fa479a3843df2ec07b4c1b665253474c346
- tree sha256
- c6c96154096bf1cef8921669d4311248173884a475e6e942978f4c6f650f25c5
- file sha256
- {".claude-plugin/marketplace.json":"065b745bd5fe600472e467a05830ef2494dd3e0effac979e8e1db52c66a9ff40",".claude-plugin/plugin.json":"2d6cb8b0ddebb4fb290dedeea179f275ef469b602670adefc20284f5b8ae0c09",".gitignore":"57d30df34ee55576b381f6e2fe06e2a405e306791ff72518bbd88afd665e377f","CHANGELOG.md":"2b42c745fb0430315d3332c56f8d5674205a4ef56b81ae42406b569db92d6a11","LICENSE":"d39c6aab0562dca40c4ce25bed9269e00faa818dbd645e96c2f20b4027c89f40","LICENSE-APACHE-2.0":"0c21bba57c408f1db622eec3c8d23966a2be08723f0e9070fe5494ed840fd72d","NOTICE":"9ae889867a3469bfa75bdeb3dbf3e8c93234f9499204db02f96587e1ca2964b4","README-EN.md":"65ae81b1f69d210abd94c040662eb95ad56fd716b4162d091cac626cf86ddf54","README.md":"2059930f568663beefc95abe23e2cca8688e45adbab243c7d2711abc9e75ae0a","examples/claude-permissions.example.json":"525f17222fd9416176ca184db9f82e8caf1ba2ab33d67bfef7a123ed8be5e1f6","hooks/hooks.json":"c3a9dbfb039239e4d087a4af652399ee2aae49af0d8fbf83878ee2c5b07cb787","hooks/permission_request.py":"89ca777c914c5fcaacdac39e25199fd053bfabda4d47d81ab1325d75ab0386c7","hooks/post_tool_use.py":"d438e2d5246d582c31739c68dea54511a62353fff437367a793e6226c075ee83","hooks/pre_tool_use.py":"1cd95622f39cf619be293789786d4bad42d1fab357653fc124cd7ac4264f9aa2","hooks/stop_gate.py":"65ea38a2dd1afcc969088cb26259ed35b46ad3c5d12fa50634830da4069dfd4d","hooks/user_prompt_submit.py":"f5b59029f4127bb23a41aa5a3a7cb20acf667d07ac4bcf396cbee8e0d3bda5f1","scripts/classify_task.py":"a7541145add91982db26ef53480f165be29468f825f125aab2dc9d1cc73a3aec","scripts/ledger.py":"20e04c0093589eb90fc4f727d5be74edb33ec17a85501bcb9c8fe7a824d0e890","scripts/parse_tool_result.py":"e8ee8fcb4b7b81cd9bdf7860b1e2b21f6fd81f0cb476fa285972df847060c01a","scripts/verify_state.py":"e7c2d904f9ee9f075bceeb7a6074949d53e43ea31e9f925d4d299fefb96fe23f","skills/fable-ish/SKILL.md":"e3d9743e3b63ce0e9ab038f7d509da9b06ff89c2b4f6b5d0839d8743d3cde0ba","skills/fable-ish/references/final-report.md":"c2081429dd9c7e1fdeccf13068236ca7d165f06918094601cfbfd7022e244e4a","skills/fable-ish/references/verification.md":"f65bd7ce9563efb926024df86ccbe984965b9b29891727fe9dffc4b6a7d3178b","skills/fable-ish/references/workflow.md":"d4e741cf4ee4cd8a7664ae30f2bac2dc594967886215a5b4f382c88c98a7ea51","tests/test_hooks.py":"ccff405306eed6d94132c1759c7f1fb12c32327f1d8538f3e98fa4d79f310ccf"}
- lockfiles
- ["LOCK.json"]
- utc date
- 2026-10-22T12:15:50Z
- 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-checked
- 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
- []
- commands
- ["Ran 30 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-22T12:15:50Z: pinned source inspection"]
- application
- {"applicationCategory":"DeveloperApplication","name":"chrisryugj/fable-ish — 6 hooks","operatingSystem":"Not exercised","softwareVersion":"b03a5fa479a3843df2ec07b4c1b665253474c346"}
- review input
- {"claims":[{"field":"summary","id":"acquired","sources":["LOCK.json","listing.json","commands.json"],"text":"Pinned source declarations and file hashes were listed."},{"field":"outcome","id":"listed","sources":["LOCK.json","listing.json","commands.json"],"text":"Listed 6 hook declarations. Ran 30 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."},{"field":"rule_results.0","id":"tree","sources":["LOCK.json","listing.json","commands.json"],"text":"The retained source tree matches its acquisition manifest."},{"field":"rule_results.1","id":"declared","sources":["LOCK.json","listing.json","commands.json"],"text":"Declared hook names (listing.json): UserPromptSubmit; PreToolUse; PermissionRequest; PostToolUse; PostToolUseFailure; Stop"}],"evidence_sha256":{"LOCK.json":"7fb4fdd7f10be1dfa97cf0901cf5126da0ce879fda48c8101ff17f5d762865af","commands.json":"b97f7aece873385a6d609bca27b1e8c3164f501e2e0b679fb0c9d09b19d8ff47","complete.json":"91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f","identity.json":"93c7f177cf2720a8e2a76717d3c0338791649b7ea8d7522e8af43ee8d1446958","listing.json":"a11bd67c18280822c61f60bdfa4c07943b73653ee9a2bb19fa0451afdc643660","selection.json":"ccf828bfb228c7004d3f7277b8472bde4aebcf8265dc58fe96c05b4d28ca0b91"},"identity_artifact":"identity.json"}
- review
- {"codex":"64a4f01121900ad5491e00226fa2a763a5c7fa29d41c2d9114d35b3521f83159","date":"2026-10-22","gates":"d68b0893b84eadd24f0fcb4b283ba66ac6a984cdcdd5e11b530dc0403085eeea","grok":"1ab114567f56b810568aef465cddb0a77d60a4c761254734683ca21d29d7b2b7","kind":"machine-checked","reviewed_sha256":"abc673b58e71c80a89d335e8e0b311b24531e99893097aec2c0a869a7a995af3","summary":"Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."}
Downloadable evidence
transcript
Ran 30 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.
sinkhole log
Download complete sinkhole log
Not applicable: static source inspection (commands.json).
canary log
Not applicable: static source inspection (commands.json).
scanner output
Download complete scanner output
Not applicable: static source inspection (commands.json).
normalized text
Download complete normalized text
{
"listing": {
"skills": [
{
"path": "skills/fable-ish/SKILL.md",
"name": "fable-ish",
"description": "Apply fable-ish verification discipline to Claude Code coding tasks with risk-proportional workflow, review, and final reporting. Use for fable-ish requests, common typo fablish, complex implementation, debugging, refactoring, deployment preparation, or work where completion needs observable evidence. Do not use for simple explanations or quick low-risk answers unless explicitly requested.",
"files": {
"skills/fable-ish/SKILL.md": "e3d9743e3b63ce0e9ab038f7d509da9b06ff89c2b4f6b5d0839d8743d3cde0ba",
"skills/fable-ish/references/final-report.md": "c2081429dd9c7e1fdeccf13068236ca7d165f06918094601cfbfd7022e244e4a",
"skills/fable-ish/references/verification.md": "f65bd7ce9563efb926024df86ccbe984965b9b29891727fe9dffc4b6a7d3178b",
"skills/fable-ish/references/workflow.md": "d4e741cf4ee4cd8a7664ae30f2bac2dc594967886215a5b4f382c88c98a7ea51"
}
}
],
"hooks": [
{
"path": "hooks/hooks.json",
"sha256": "c3a9dbfb039239e4d087a4af652399ee2aae49af0d8fbf83878ee2c5b07cb787",
"event": "UserPromptSubmit",
"matcher": null,
"declaration": {
"type": "command",
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/user_prompt_submit.py\"",
"timeout": 10,
"statusMessage": "Classifying fable-ish task"
},
"executed": false
},
{
"path": "hooks/hooks.json",
"sha256": "c3a9dbfb039239e4d087a4af652399ee2aae49af0d8fbf83878ee2c5b07cb787",
"event": "PreToolUse",
"matcher": "^(Bash|PowerShell|Edit|Write|MultiEdit|NotebookEdit)$",
"declaration": {
"type": "command",
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/pre_tool_use.py\"",
"timeout": 10,
"statusMessage": "Checking fable-ish guardrails"
},
Excerpt shown; complete evidence is in the download.
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.
Template placeholders refer to the snapshot metadata above.
Get new snapshots
Follow the machine-checked snapshot feed for published evidence updates.