safeword 0.78.2 → 0.78.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/codex-plugin/hooks.json +5 -5
- package/codex-plugin/skills/bdd/references/SCENARIOS.md +3 -0
- package/codex-plugin/skills/bdd/references/TDD.md +11 -5
- package/codex-plugin/skills/closeout/SKILL.md +24 -16
- package/codex-plugin/skills/finish-review/SKILL.md +4 -3
- package/codex-plugin/skills/lint/SKILL.md +1 -1
- package/codex-plugin/skills/review-spec/SKILL.md +5 -1
- package/codex-plugin/skills/self-review/SKILL.md +2 -2
- package/codex-plugin/skills/ticket-system/SKILL.md +3 -0
- package/dist/{architecture-N5ZC4CDU.js → architecture-TCSDEFKH.js} +9 -9
- package/dist/{architecture-document-UBA5UT4J.js → architecture-document-L2ADWVMV.js} +6 -6
- package/dist/{architecture-monorepo-E4JUYJGV.js → architecture-monorepo-NKOQZBEY.js} +4 -4
- package/dist/{boundary-HLJILY7R.js → boundary-QP2H7C46.js} +6 -6
- package/dist/{chunk-NOTBZCKG.js → chunk-2XR7J5WL.js} +93 -42
- package/dist/chunk-2XR7J5WL.js.map +1 -0
- package/dist/{chunk-4CZS4YJV.js → chunk-3OKZ3X4O.js} +3 -3
- package/dist/{chunk-GZ36UZJG.js → chunk-73TABQRT.js} +10 -10
- package/dist/{chunk-4CKCRZDO.js → chunk-7ULZND56.js} +2 -2
- package/dist/{chunk-34NCOTP5.js → chunk-7XELS325.js} +2 -2
- package/dist/{chunk-USPVNZ63.js → chunk-BZWO3BVD.js} +11 -7
- package/dist/chunk-BZWO3BVD.js.map +1 -0
- package/dist/{chunk-BQTC6YGN.js → chunk-D5ENZR6N.js} +2 -2
- package/dist/{chunk-SME5SU3O.js → chunk-DBXX5K74.js} +258 -48
- package/dist/chunk-DBXX5K74.js.map +1 -0
- package/dist/{chunk-V63TSN3C.js → chunk-FOYGZ4MK.js} +31 -10
- package/dist/chunk-FOYGZ4MK.js.map +1 -0
- package/dist/{chunk-ZRV7TOCX.js → chunk-G5AFQXXW.js} +2 -2
- package/dist/{chunk-AXAGJLMP.js → chunk-G757F3EU.js} +4 -4
- package/dist/{chunk-KXHVFCDT.js → chunk-GFDINP7M.js} +153 -27
- package/dist/chunk-GFDINP7M.js.map +1 -0
- package/dist/{chunk-S2T356DA.js → chunk-HF3DXZEA.js} +7 -10
- package/dist/chunk-HF3DXZEA.js.map +1 -0
- package/dist/{chunk-NSZGI7HK.js → chunk-HNCUIXDY.js} +9 -9
- package/dist/{chunk-NSZGI7HK.js.map → chunk-HNCUIXDY.js.map} +1 -1
- package/dist/{chunk-BSOUMHMQ.js → chunk-IPTM5VE7.js} +101 -1094
- package/dist/chunk-IPTM5VE7.js.map +1 -0
- package/dist/chunk-JBOLNV2L.js +21 -0
- package/dist/chunk-JBOLNV2L.js.map +1 -0
- package/dist/chunk-JSR3HXFT.js +1231 -0
- package/dist/chunk-JSR3HXFT.js.map +1 -0
- package/dist/{chunk-BAVDDAN3.js → chunk-KS2ESRQL.js} +9 -9
- package/dist/chunk-LFC6CMMX.js +136 -0
- package/dist/chunk-LFC6CMMX.js.map +1 -0
- package/dist/{chunk-QTG2EXFT.js → chunk-LUNHU6Z3.js} +2 -2
- package/dist/{chunk-QTG2EXFT.js.map → chunk-LUNHU6Z3.js.map} +1 -1
- package/dist/{chunk-WVDRXD67.js → chunk-MLBZFB5A.js} +1 -1
- package/dist/chunk-MLBZFB5A.js.map +1 -0
- package/dist/{chunk-KFVEPQ7X.js → chunk-MVFHTUQ3.js} +2 -2
- package/dist/{chunk-TJ627SKI.js → chunk-O3GZ77F7.js} +15 -1
- package/dist/chunk-O3GZ77F7.js.map +1 -0
- package/dist/{chunk-Q5KLE6ZF.js → chunk-OKPRQGFG.js} +2 -2
- package/dist/{chunk-QUDIOBHP.js → chunk-PD7ZXRHV.js} +139 -18
- package/dist/chunk-PD7ZXRHV.js.map +1 -0
- package/dist/chunk-QAHJSG53.js +30 -0
- package/dist/chunk-QAHJSG53.js.map +1 -0
- package/dist/{chunk-3SOJBMM6.js → chunk-R6BSRNU4.js} +6 -6
- package/dist/{chunk-3SOJBMM6.js.map → chunk-R6BSRNU4.js.map} +1 -1
- package/dist/{chunk-J7UDLLTK.js → chunk-RQ7RZYNB.js} +39 -25
- package/dist/chunk-RQ7RZYNB.js.map +1 -0
- package/dist/{chunk-664YNAMR.js → chunk-RTFPKJJV.js} +5 -5
- package/dist/{chunk-GKR44BCH.js → chunk-RVDXBHUG.js} +2 -2
- package/dist/chunk-THLEVFEX.js +22 -0
- package/dist/chunk-THLEVFEX.js.map +1 -0
- package/dist/{chunk-A7Z27COA.js → chunk-VFWAZLEF.js} +3 -3
- package/dist/{chunk-I4KBHRZW.js → chunk-VJUPD7JI.js} +7 -7
- package/dist/{chunk-3EJNDIAO.js → chunk-VZ5B2SIO.js} +2 -2
- package/dist/chunk-WAMQTZAH.js +19 -0
- package/dist/chunk-WAMQTZAH.js.map +1 -0
- package/dist/{chunk-FDHJ63FZ.js → chunk-WVA4Q6BX.js} +1 -1
- package/dist/{chunk-FDHJ63FZ.js.map → chunk-WVA4Q6BX.js.map} +1 -1
- package/dist/{chunk-AV5LTEME.js → chunk-YZ5JGDOV.js} +30 -134
- package/dist/chunk-YZ5JGDOV.js.map +1 -0
- package/dist/{cleanup-X556LNWM.js → cleanup-JNLZ7AXA.js} +9 -9
- package/dist/{cleanup-command-RV2Q7G72.js → cleanup-command-MFAYNYRW.js} +15 -15
- package/dist/cli.js +152 -109
- package/dist/cli.js.map +1 -1
- package/dist/{clients-HP23HRN2.js → clients-7AJBKEWF.js} +2 -2
- package/dist/codex-bootstrap-KFNUS63Y.js +252 -0
- package/dist/codex-bootstrap-KFNUS63Y.js.map +1 -0
- package/dist/{codex-hook-IPX3PDXX.js → codex-hook-TNMYVOR7.js} +57 -49
- package/dist/codex-hook-TNMYVOR7.js.map +1 -0
- package/dist/{codify-J5ZLJ3HK.js → codify-RBWBRXQO.js} +11 -8
- package/dist/codify-RBWBRXQO.js.map +1 -0
- package/dist/{commands-L4AINARC.js → commands-4UXHBZFD.js} +127 -71
- package/dist/commands-4UXHBZFD.js.map +1 -0
- package/dist/{config-LUSJAK6B.js → config-GS7BTZJD.js} +2 -2
- package/dist/{configured-paths-SPQ5XWOM.js → configured-paths-CREUDQF3.js} +4 -4
- package/dist/contract-42CIWIWV.js +8 -0
- package/dist/{coordinator-SA75UB3C.js → coordinator-WOPGWDXK.js} +231 -144
- package/dist/coordinator-WOPGWDXK.js.map +1 -0
- package/dist/corpus-CAFYEMBO.js +15 -0
- package/dist/{doctor-DSC36R4U.js → doctor-AZP5D7QP.js} +21 -21
- package/dist/{feature-directories-VOHVV26X.js → feature-directories-6TLM7Y4H.js} +6 -6
- package/dist/{finalization-7SMLMVLV.js → finalization-AQT3SOP7.js} +4 -4
- package/dist/{gh-cli-ZMO7D2KE.js → gh-cli-XCQT5ST7.js} +2 -2
- package/dist/{github-rest-KGKS4V2H.js → github-rest-CXFJ2NFF.js} +2 -2
- package/dist/index.js +2 -2
- package/dist/{job-CDADLJDF.js → job-4POTQJZK.js} +20 -21
- package/dist/job-4POTQJZK.js.map +1 -0
- package/dist/{learning-sync-6BTHM6ZC.js → learning-sync-QVXBOP6J.js} +4 -4
- package/dist/{legacy-global-guidance-2JL4Y5EB.js → legacy-global-guidance-CPGUUNJI.js} +5 -5
- package/dist/{lint-gherkin-COSHVS6Z.js → lint-gherkin-LZ45NG4A.js} +7 -7
- package/dist/{operations-XVRQSLJG.js → operations-ODOA5CDG.js} +18 -16
- package/dist/{output-3LB2OEHN.js → output-QTZCFLAY.js} +2 -2
- package/dist/{packet-5WT5M3OS.js → packet-5G6RT2EW.js} +2 -2
- package/dist/presets/typescript/index.js +2 -2
- package/dist/{profile-UMKQ5JVO.js → profile-QGLZNLRU.js} +7 -7
- package/dist/{prompt-GWYDFMLO.js → prompt-UCTSCXSS.js} +2 -2
- package/dist/remove-UQPEXXNP.js +23 -0
- package/dist/{retro-IFSVU5KS.js → retro-ELKR6GHF.js} +8 -8
- package/dist/{retro-draft-spool-4S3TCHWL.js → retro-draft-spool-M75BTT32.js} +2 -2
- package/dist/{retro-extract-OSBFAXLU.js → retro-extract-RA6THOC4.js} +2 -2
- package/dist/{review-pr-6S2352CK.js → review-pr-MN6QESAJ.js} +2 -2
- package/dist/{review-pr-publication-CGHCRRUI.js → review-pr-publication-6AVOGWR2.js} +2 -2
- package/dist/{run-5JESKXUR.js → run-JFDGRAH2.js} +4 -4
- package/dist/{self-report-VPHBPPSJ.js → self-report-5APRPB5P.js} +2 -2
- package/dist/status-ATFG6Q3K.js +21 -0
- package/dist/{status-EX4L3ELO.js → status-HIQSP3F5.js} +21 -21
- package/dist/{sync-config-O7J7IDGE.js → sync-config-XPAJKBRO.js} +5 -5
- package/dist/{sync-tracker-U2GYOFUO.js → sync-tracker-3E5BWX73.js} +6 -6
- package/dist/{test-execution-6LIPMBIH.js → test-execution-VDECX7TO.js} +8 -7
- package/dist/{test-execution-6LIPMBIH.js.map → test-execution-VDECX7TO.js.map} +1 -1
- package/dist/{test-plan-VASHZXJ7.js → test-plan-2L7A7UZV.js} +7 -6
- package/dist/{test-plan-VASHZXJ7.js.map → test-plan-2L7A7UZV.js.map} +1 -1
- package/dist/{ticket-new-3YXDIWPC.js → ticket-new-HZKNZ5GO.js} +11 -11
- package/dist/ticket-new-HZKNZ5GO.js.map +1 -0
- package/dist/{ticket-sync-LLUBXZ2R.js → ticket-sync-4QJD3KOL.js} +5 -5
- package/dist/{tracker-map-HR4MBYG5.js → tracker-map-CFMFIEER.js} +2 -2
- package/dist/{tracker-sync-YDICZN66.js → tracker-sync-MOPJE6M7.js} +2 -2
- package/package.json +1 -1
- package/templates/SAFEWORD.md +2 -2
- package/templates/commands/lint.md +1 -1
- package/templates/scripts/closeout-cleanup.ts +127 -31
- package/templates/skills/bdd/SCENARIOS.md +3 -0
- package/templates/skills/bdd/TDD.md +11 -5
- package/templates/skills/closeout/SKILL.md +25 -17
- package/templates/skills/finish-review/SKILL.md +4 -3
- package/templates/skills/lint/SKILL.md +1 -1
- package/templates/skills/review-spec/SKILL.md +5 -1
- package/templates/skills/self-review/SKILL.md +2 -2
- package/templates/skills/ticket-system/SKILL.md +3 -0
- package/dist/chunk-6S7CTKGC.js +0 -128
- package/dist/chunk-6S7CTKGC.js.map +0 -1
- package/dist/chunk-AV5LTEME.js.map +0 -1
- package/dist/chunk-BSOUMHMQ.js.map +0 -1
- package/dist/chunk-J7UDLLTK.js.map +0 -1
- package/dist/chunk-KXHVFCDT.js.map +0 -1
- package/dist/chunk-NOTBZCKG.js.map +0 -1
- package/dist/chunk-QUDIOBHP.js.map +0 -1
- package/dist/chunk-S2T356DA.js.map +0 -1
- package/dist/chunk-SME5SU3O.js.map +0 -1
- package/dist/chunk-TJ627SKI.js.map +0 -1
- package/dist/chunk-USPVNZ63.js.map +0 -1
- package/dist/chunk-V63TSN3C.js.map +0 -1
- package/dist/chunk-WRUXO3WA.js +0 -48
- package/dist/chunk-WRUXO3WA.js.map +0 -1
- package/dist/chunk-WVDRXD67.js.map +0 -1
- package/dist/codex-bootstrap-MGY2D6HU.js +0 -178
- package/dist/codex-bootstrap-MGY2D6HU.js.map +0 -1
- package/dist/codex-hook-IPX3PDXX.js.map +0 -1
- package/dist/codify-J5ZLJ3HK.js.map +0 -1
- package/dist/commands-L4AINARC.js.map +0 -1
- package/dist/contract-KEZY6YC3.js +0 -8
- package/dist/coordinator-SA75UB3C.js.map +0 -1
- package/dist/corpus-PPOBTF4J.js +0 -15
- package/dist/job-CDADLJDF.js.map +0 -1
- package/dist/remove-E6HGNHOU.js +0 -22
- package/dist/status-7VIGNTUI.js +0 -21
- package/dist/ticket-new-3YXDIWPC.js.map +0 -1
- /package/dist/{architecture-N5ZC4CDU.js.map → architecture-TCSDEFKH.js.map} +0 -0
- /package/dist/{architecture-document-UBA5UT4J.js.map → architecture-document-L2ADWVMV.js.map} +0 -0
- /package/dist/{architecture-monorepo-E4JUYJGV.js.map → architecture-monorepo-NKOQZBEY.js.map} +0 -0
- /package/dist/{boundary-HLJILY7R.js.map → boundary-QP2H7C46.js.map} +0 -0
- /package/dist/{chunk-4CZS4YJV.js.map → chunk-3OKZ3X4O.js.map} +0 -0
- /package/dist/{chunk-GZ36UZJG.js.map → chunk-73TABQRT.js.map} +0 -0
- /package/dist/{chunk-4CKCRZDO.js.map → chunk-7ULZND56.js.map} +0 -0
- /package/dist/{chunk-34NCOTP5.js.map → chunk-7XELS325.js.map} +0 -0
- /package/dist/{chunk-BQTC6YGN.js.map → chunk-D5ENZR6N.js.map} +0 -0
- /package/dist/{chunk-ZRV7TOCX.js.map → chunk-G5AFQXXW.js.map} +0 -0
- /package/dist/{chunk-AXAGJLMP.js.map → chunk-G757F3EU.js.map} +0 -0
- /package/dist/{chunk-BAVDDAN3.js.map → chunk-KS2ESRQL.js.map} +0 -0
- /package/dist/{chunk-KFVEPQ7X.js.map → chunk-MVFHTUQ3.js.map} +0 -0
- /package/dist/{chunk-Q5KLE6ZF.js.map → chunk-OKPRQGFG.js.map} +0 -0
- /package/dist/{chunk-664YNAMR.js.map → chunk-RTFPKJJV.js.map} +0 -0
- /package/dist/{chunk-GKR44BCH.js.map → chunk-RVDXBHUG.js.map} +0 -0
- /package/dist/{chunk-A7Z27COA.js.map → chunk-VFWAZLEF.js.map} +0 -0
- /package/dist/{chunk-I4KBHRZW.js.map → chunk-VJUPD7JI.js.map} +0 -0
- /package/dist/{chunk-3EJNDIAO.js.map → chunk-VZ5B2SIO.js.map} +0 -0
- /package/dist/{cleanup-X556LNWM.js.map → cleanup-JNLZ7AXA.js.map} +0 -0
- /package/dist/{cleanup-command-RV2Q7G72.js.map → cleanup-command-MFAYNYRW.js.map} +0 -0
- /package/dist/{clients-HP23HRN2.js.map → clients-7AJBKEWF.js.map} +0 -0
- /package/dist/{config-LUSJAK6B.js.map → config-GS7BTZJD.js.map} +0 -0
- /package/dist/{configured-paths-SPQ5XWOM.js.map → configured-paths-CREUDQF3.js.map} +0 -0
- /package/dist/{contract-KEZY6YC3.js.map → contract-42CIWIWV.js.map} +0 -0
- /package/dist/{corpus-PPOBTF4J.js.map → corpus-CAFYEMBO.js.map} +0 -0
- /package/dist/{doctor-DSC36R4U.js.map → doctor-AZP5D7QP.js.map} +0 -0
- /package/dist/{feature-directories-VOHVV26X.js.map → feature-directories-6TLM7Y4H.js.map} +0 -0
- /package/dist/{finalization-7SMLMVLV.js.map → finalization-AQT3SOP7.js.map} +0 -0
- /package/dist/{gh-cli-ZMO7D2KE.js.map → gh-cli-XCQT5ST7.js.map} +0 -0
- /package/dist/{github-rest-KGKS4V2H.js.map → github-rest-CXFJ2NFF.js.map} +0 -0
- /package/dist/{learning-sync-6BTHM6ZC.js.map → learning-sync-QVXBOP6J.js.map} +0 -0
- /package/dist/{legacy-global-guidance-2JL4Y5EB.js.map → legacy-global-guidance-CPGUUNJI.js.map} +0 -0
- /package/dist/{lint-gherkin-COSHVS6Z.js.map → lint-gherkin-LZ45NG4A.js.map} +0 -0
- /package/dist/{operations-XVRQSLJG.js.map → operations-ODOA5CDG.js.map} +0 -0
- /package/dist/{output-3LB2OEHN.js.map → output-QTZCFLAY.js.map} +0 -0
- /package/dist/{packet-5WT5M3OS.js.map → packet-5G6RT2EW.js.map} +0 -0
- /package/dist/{profile-UMKQ5JVO.js.map → profile-QGLZNLRU.js.map} +0 -0
- /package/dist/{prompt-GWYDFMLO.js.map → prompt-UCTSCXSS.js.map} +0 -0
- /package/dist/{remove-E6HGNHOU.js.map → remove-UQPEXXNP.js.map} +0 -0
- /package/dist/{retro-IFSVU5KS.js.map → retro-ELKR6GHF.js.map} +0 -0
- /package/dist/{retro-draft-spool-4S3TCHWL.js.map → retro-draft-spool-M75BTT32.js.map} +0 -0
- /package/dist/{retro-extract-OSBFAXLU.js.map → retro-extract-RA6THOC4.js.map} +0 -0
- /package/dist/{review-pr-6S2352CK.js.map → review-pr-MN6QESAJ.js.map} +0 -0
- /package/dist/{review-pr-publication-CGHCRRUI.js.map → review-pr-publication-6AVOGWR2.js.map} +0 -0
- /package/dist/{run-5JESKXUR.js.map → run-JFDGRAH2.js.map} +0 -0
- /package/dist/{self-report-VPHBPPSJ.js.map → self-report-5APRPB5P.js.map} +0 -0
- /package/dist/{status-7VIGNTUI.js.map → status-ATFG6Q3K.js.map} +0 -0
- /package/dist/{status-EX4L3ELO.js.map → status-HIQSP3F5.js.map} +0 -0
- /package/dist/{sync-config-O7J7IDGE.js.map → sync-config-XPAJKBRO.js.map} +0 -0
- /package/dist/{sync-tracker-U2GYOFUO.js.map → sync-tracker-3E5BWX73.js.map} +0 -0
- /package/dist/{ticket-sync-LLUBXZ2R.js.map → ticket-sync-4QJD3KOL.js.map} +0 -0
- /package/dist/{tracker-map-HR4MBYG5.js.map → tracker-map-CFMFIEER.js.map} +0 -0
- /package/dist/{tracker-sync-YDICZN66.js.map → tracker-sync-MOPJE6M7.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/claude-plugin/historical-ownership.ts","../src/utils/hooks.ts","../src/claude-plugin/historical-catalogue.generated.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\n\nimport { normalizeSafewordHookCommands } from '../utils/hooks.js';\nimport { CLAUDE_HISTORICAL_CATALOGUE } from './historical-catalogue.generated.js';\n\nfunction sha256(content: Buffer | string): string {\n return createHash('sha256').update(content).digest('hex');\n}\n\nfunction compareKeys(left: string, right: string): number {\n if (left === right) return 0;\n return left < right ? -1 : 1;\n}\n\nfunction stable(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(child => stable(child));\n if (typeof value !== 'object' || value === null) return value;\n return Object.fromEntries(\n Object.entries(value)\n .toSorted(([left], [right]) => compareKeys(left, right))\n .map(([key, child]) => [key, stable(child)]),\n );\n}\n\nexport function historicalCatalogueDigest(): string {\n return sha256(JSON.stringify(CLAUDE_HISTORICAL_CATALOGUE));\n}\n\ninterface CatalogueRelease {\n readonly files: Record<string, string>;\n readonly hook_files: Record<string, string>;\n readonly hooks: Record<string, readonly string[]>;\n}\n\n/**\n * Every release whose exact bytes Safeword may contract: the current template\n * plus each supported pre-plugin release. Ownership is proven against the union,\n * so a project installed from any catalogued release is recognized.\n */\nfunction acceptedReleases(): CatalogueRelease[] {\n return [\n CLAUDE_HISTORICAL_CATALOGUE.current,\n ...Object.values(CLAUDE_HISTORICAL_CATALOGUE.releases),\n ];\n}\n\nfunction acceptedHookFingerprints(event: string): string[] {\n return acceptedReleases().flatMap(release => release.hooks[event] ?? []);\n}\n\nexport function isAcceptedHistoricalFile(relativePath: string, content: Buffer | string): boolean {\n const digest = sha256(content);\n return acceptedReleases().some(release => release.files[relativePath] === digest);\n}\n\nexport function isAcceptedHistoricalHookFile(\n relativePath: string,\n content: Buffer | string,\n): boolean {\n const digest = sha256(content);\n return acceptedReleases().some(release => release.hook_files[relativePath] === digest);\n}\n\nexport function isAcceptedHistoricalHook(event: string, entry: unknown): boolean {\n const canonical = JSON.stringify(stable(normalizeSafewordHookCommands(entry)));\n const fingerprint = sha256(canonical);\n return acceptedHookFingerprints(event).includes(fingerprint);\n}\n\nexport function acceptedHistoricalHookEntries(event: string): unknown[] {\n return [...new Set(acceptedHookFingerprints(event))].map(fingerprint =>\n historicalHookEntry(fingerprint),\n );\n}\n\nexport function historicalHookEntry(fingerprint: string): unknown {\n return (CLAUDE_HISTORICAL_CATALOGUE.hook_entries as Record<string, unknown>)[fingerprint];\n}\n\nexport function supportedClaudeLegacyReleases(): string[] {\n return Object.keys(CLAUDE_HISTORICAL_CATALOGUE.releases);\n}\n\nexport function cataloguedClaudeLegacyPaths(): string[] {\n return [...new Set(acceptedReleases().flatMap(release => Object.keys(release.files)))].toSorted(\n (left, right) => left.localeCompare(right),\n );\n}\n","/**\n * Hook utilities for Claude Code settings\n */\n\nfunction stable(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(child => stable(child));\n if (typeof value !== 'object' || value === null) return value;\n return Object.fromEntries(\n Object.entries(value)\n .toSorted(([left], [right]) => left.localeCompare(right))\n .map(([key, child]) => [key, stable(child)]),\n );\n}\n\nfunction omitOwnedCommandTimeouts(value: unknown): unknown {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return value;\n const entry = value as Record<string, unknown>;\n const withoutTopLevelTimeout = Object.fromEntries(\n Object.entries(entry).filter(([key]) => key !== 'timeout'),\n );\n if (!Array.isArray(entry.hooks)) return withoutTopLevelTimeout;\n return {\n ...withoutTopLevelTimeout,\n hooks: entry.hooks.map(command => {\n if (typeof command !== 'object' || command === null || Array.isArray(command)) return command;\n return Object.fromEntries(\n Object.entries(command as Record<string, unknown>).filter(([key]) => key !== 'timeout'),\n );\n }),\n };\n}\n\nexport function normalizeSafewordHookCommands(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(child => normalizeSafewordHookCommands(child));\n if (typeof value !== 'object' || value === null) return value;\n return Object.fromEntries(\n Object.entries(value).map(([key, child]) => {\n if (key !== 'command' || typeof child !== 'string') {\n return [key, normalizeSafewordHookCommands(child)];\n }\n for (const executable of ['bun', 'bash']) {\n for (const relative of ['.safeword/hooks/', './.safeword/hooks/']) {\n const prefix = `${executable} ${relative}`;\n if (child.startsWith(prefix)) {\n return [\n key,\n `${executable} \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/${child.slice(prefix.length)}`,\n ];\n }\n }\n }\n return [key, child];\n }),\n );\n}\n\nfunction hookIdentity(hook: unknown, omitTimeout = false): string {\n const normalized = normalizeSafewordHookCommands(hook);\n return JSON.stringify(stable(omitTimeout ? omitOwnedCommandTimeouts(normalized) : normalized));\n}\n\nfunction filterHooksByIdentity(\n hooks: unknown[],\n ownedHooks: readonly unknown[],\n omitTimeout: boolean,\n): unknown[] {\n const owned = new Set(ownedHooks.map(hook => hookIdentity(hook, omitTimeout)));\n return hooks.filter(hook => !owned.has(hookIdentity(hook, omitTimeout)));\n}\n\n/**\n * Filter only exact Safeword-owned hook entries from an array. Callers provide\n * the entries they own; paths and command substrings are never deletion proof.\n * @param hooks\n * @param ownedHooks\n */\nexport function filterOutSafewordHooks(\n hooks: unknown[],\n ownedHooks: readonly unknown[],\n): unknown[] {\n return filterHooksByIdentity(hooks, ownedHooks, false);\n}\n\n/** Replace older forms of hooks Safeword currently owns, ignoring timeout drift. */\nexport function filterOutEquivalentSafewordHooks(\n hooks: unknown[],\n ownedHooks: readonly unknown[],\n): unknown[] {\n return filterHooksByIdentity(hooks, ownedHooks, true);\n}\n","// Generated by scripts/generate-claude-historical-catalogue.ts. Do not edit.\nexport const CLAUDE_HISTORICAL_CATALOGUE = {\n schema_version: 1,\n current: {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '008fa4b5777834118ba0efd008862df52dd32d3feec2218537d7c90cbfdfd904',\n '.claude/agents/safeword-reviewer.md':\n '13333228aa180c0ff040ccfe4e16058147fadc596b51df0d6d73caeb01755470',\n '.claude/skills/audit/SKILL.md':\n '9da1c1379274ed239b02115bbb0e986c298a64dbf0a3109c8c878360a3318993',\n '.claude/skills/bdd/DISCOVERY.md':\n 'c229895c53030b8f44ff563dd3728d8f4a4e4e593d8c29ae9349283ea25b5d91',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n '8ed89fca82f6e71b77351674f12d5d7c1380574e326e05ca1912caf84ff4ff9b',\n '.claude/skills/bdd/SCENARIOS.md':\n 'a2cf8937e4c555c6e42f3f33a45cd5355dc61337a75ea220561bc0b6d9be3ad8',\n '.claude/skills/bdd/SKILL.md':\n 'df9f7927be3289f3ffb0444d49ae25fe601ce33b9661f7a809f74dff8da40ff0',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n 'fc596bf79b97eae1545a62b799b5ea29543c33eae65e722155125875421efa91',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/closeout/SKILL.md':\n '15beb617c742d2d3f7f330f1e7ccb0545e00df1c3b6e3b0c3cedae4535651a2d',\n '.claude/skills/debug/SKILL.md':\n 'ae56c4c9287f76a2250d13fa9908f5726ed4edbe4080ece10d1559507e242bd0',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '18e2b44e9a91562079b3e1f52fcd9f952b5f57a0f0e7647b0273809848a75c0d',\n '.claude/skills/finish-review/REVIEWER.md':\n '0ecee21a63f91e09d3136f62cf8f7590ba9a640b85cad7b7b35c1ae334ff43c2',\n '.claude/skills/finish-review/SKILL.md':\n '8ff3fbeb2ba9eb6f9278bea718aacd747682dae4245bdb87356988c53611a69b',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n 'b940905d31cd4931665e023a65824a923a2bd5d7f590358355576cff8f3bc42a',\n '.claude/skills/refactor/SKILL.md':\n 'a51a858fb13b50cbc86789edbde8a39e364b5cdd7d5d3b025d555d90b221760e',\n '.claude/skills/retro-filer/SKILL.md':\n 'ea126f3805a2befefb4db2011439f075ebfd6eca31b78bd5f284ac11d667b4f0',\n '.claude/skills/retro/SKILL.md':\n '166e5109193bad4c26e060f6841d71c03f9155c7e74e1853c43b99b01c25d379',\n '.claude/skills/review-spec/SKILL.md':\n '5c707432234f2d6893b6b3ebd340820990040d81006e1550b419f032ce8fda08',\n '.claude/skills/self-review/SKILL.md':\n 'dcc667823790f18e1fa8cf35aaf10c40464664929c7bbb093531fd684f673e15',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n '4b945f122a90d23462845d7bdbbd0b736aa69d423a2d7e99ebf646bf118faa4f',\n '.claude/skills/testing/SKILL.md':\n '697a4b090935989e0c8a53462d2b44087afafa50adc69e9a98da14bed23dbde9',\n '.claude/skills/ticket-system/SKILL.md':\n '1edd1d2c546dae594124c8846c43f78f81d4579370589eaf1476b894c0a9750e',\n '.claude/skills/verify/SKILL.md':\n '26763f7fbc900b6994938db93e3b1e1e601ccded59d74c45f528a73fe71ec92f',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n 'bc272acc87b1d52db960b2c96ac36ea553e21fdf161122312b74cd61157acb82',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n 'b730b5c63eb5b860203a2b453aaddbf8271050cab8b3479c23bc8fcc47d79205',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n 'd23343dc3185916140a4b25572f3bb413aece93311f5084444c0debe188f85b8',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n 'b97d1639e4598197baa11c71d640f0cbff79f5bf72b38736ad1f4484bb06e1cf',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '78353d6f47adb0ed9969e83b40429d5792a98789dff67ec0bc4d5a024b1da457',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '76f1b55c3173d3ebc2a819a41e06a814a57d78b94faf30108afed439dc7ce747',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '51cb48954d5b6154d1b4f831f9689fc5044cc8abf6aa9eb664fcddbf6fa859c0',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '4810e508b3ef79e162c6e74e169e24f8eb7ae7980549ba3f53e640424ae10773',\n '.safeword/hooks/session-dependency-readiness.ts':\n '295d14c5a3d8112b01259cf89ce718144a568e62e0baf5aaa19eca3fcfdc50ff',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-reply-format.ts':\n '41f7578e93188d5efacdd9ecbf29f72753a6fe98bca71fe321c61f547aeb8532',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n 'c6160a3ea0ef65345c89b3c1dcf5a4177a408d94ab7efda82d86f9d455815c64',\n '.safeword/hooks/stop-quality.ts':\n '34da4375dd284343bdae0f112a253d2aa2ea5d06d096dadd8774831e41018ffd',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n 'ae5693347a530547701c7fd9efd9d76ee4f690cd235b7e28b409d59d6090417d',\n '.safeword/hooks/stop-retro.ts':\n '5b0767121376bac1ad9f2b57765f0e705b1c34bff72724133014d31e39c0b916',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '1748d249b1ef227d313b5da2e098dd26c38b78a1de5bb8f6f236ba567420a17d',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n releases: {\n '0.68.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n 'd0adabee189a52adac5bb79ef92e8fc8201cf69d89680ec1db96385722527aa1',\n '.claude/skills/audit/SKILL.md':\n '66de01380bd88cbc95b26888f23b70363a640262b6dab138531085be8194ca24',\n '.claude/skills/bdd/DISCOVERY.md':\n 'b207684a7615f83df08e68d9e13660b2745e247e18f611bc9b606904bef4319b',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/SCENARIOS.md':\n '1be1365aa5dc1302bf10c5d74a6f50e28e28555b83e963e7257029d92a4910f4',\n '.claude/skills/bdd/SKILL.md':\n '75ed76b99df6fb818e3a63d9428d87b7228a2f136218d74bf1dc666b711be8cd',\n '.claude/skills/bdd/SPLITTING.md':\n '17367d157ebde2b2f9da04798615981527fe0cbb0da0fd5770818fd17adb88d8',\n '.claude/skills/bdd/TDD.md':\n '4f11431c53f377f309a2ee57d051c1f59557244ff92c3c0e07226e52f38e3ac1',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n '4fb21183502edd0806dc4a520b95b12c161294e69150f8c32f719095fc2e5f44',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '14f697e93d3f287caf5e2c0aa49b6ef20ee73da2faea7f6dc3f6eef7f79ee049',\n '.claude/skills/lint/SKILL.md':\n 'd26d0f631e7fa8653e9fa110e139584049796979ee1638e3601059906cee6c78',\n '.claude/skills/quality-review/SKILL.md':\n '6c0e4891fb70e0371cc2268d671d8d802c46a08c986032ae55493d803d5b6dfb',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro/SKILL.md':\n 'dfa8182df00d3d3935e475ec34de8b3f7fba2819065261bb8e595147434a1aeb',\n '.claude/skills/review-spec/SKILL.md':\n 'cd61d4a6b22164cf1d14479553ada2502aacb8a36f137e59593ffdbd5540a91a',\n '.claude/skills/self-review/SKILL.md':\n 'c6502e0e3a067e4ffbe641e09f9de224d538bede7695c7f9b829acb01497e3ac',\n '.claude/skills/tdd-review/SKILL.md':\n 'b190130a5bdf3ce2a47fd955c20835db5d75911095b422ef0aecd4c97fa3df2f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '1531780c2e04a8a3bc9fd5b48735cc6b4a4b2faac59337a93975136b2c200eaa',\n '.claude/skills/verify/SKILL.md':\n '23900f59b8ba03fd4d5a0d49fbbe03f6fe54364d6eef009870e9a5694b97cd12',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n 'cc40e780a91da05a5b75eff4fc9385cefed69a13e71550cecf89293228a9a4eb',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'b4a1565cb734efc5a4209dee04402fab88a0bd0b27b3f4877df9bd91e58ee272',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '5186a34d7ab8a79ceb069ec5342f360d02db6c0b62c626503e53d7ea0f49b0f5',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '1fbb02f389eb1716d95f9ac91a75589894dbfbc0e030a91427b3b86e932e9002',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '029f3be85a3adb23aed34075a67ec49e9e0cac48c0c0dff325544d9fe6651af0',\n '.safeword/hooks/prompt-retro-nudge.ts':\n 'e434a748999ac32bc2ed09db019c7def95b67efb2cedb84a563a72ff2dbb4dfd',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '0fe2e7f68fdc30cea429e4d5b58d02a4430467f5508cde040fa620413f14e339',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '8522c9213d00378139751028ce37875e5b005bfa15d56da6698b25005a0ca792',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'ec44f19d57a0750d03816d146f64417bc1dd3f1edf4bb03d9386e9bb4a9f5583',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '7c96bf0f152c6864c50787d62859172a316d19e8ed730fec5106ea7d41b2326d',\n '.safeword/hooks/stop-reentry.ts':\n 'cdf258da12fae6844ec9334cfa61521f5cc6a9b4cb0dbadb08c4ba798df7403e',\n '.safeword/hooks/stop-retro-filing.ts':\n '8938c5fa7da5ea232eb5a45526b207727e676cae2eb6f862104f8fad85d9db20',\n '.safeword/hooks/stop-retro.ts':\n '406496aa4c461aeeda7d659a4cc28a2c3f9e8d08596c3c74f1af8e8248275cbd',\n '.safeword/hooks/stop-self-report.ts':\n 'cbe0fabdd2f42070a7f5277c77d18bcabad81f4c8ac1c18e9b459a7e111cb483',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.69.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n 'd0adabee189a52adac5bb79ef92e8fc8201cf69d89680ec1db96385722527aa1',\n '.claude/skills/audit/SKILL.md':\n '5d532b2980976d758927ebf6e66a5e9022d83a421c936c378bca1391aa5d58a4',\n '.claude/skills/bdd/DISCOVERY.md':\n '9850364b48f66dc207cb9c8058f7564f70a5ac331a4bd188d71f3215c22d3dc4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '59c07c9ad8914a60d879450e3ffe54cd79b199a652b70f7fa6156c7c87c27b60',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '337c1c44e2b961da26de2a776fe599557b2ff2f606059b15fb5b948a1fa54c20',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n '4fb21183502edd0806dc4a520b95b12c161294e69150f8c32f719095fc2e5f44',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '14f697e93d3f287caf5e2c0aa49b6ef20ee73da2faea7f6dc3f6eef7f79ee049',\n '.claude/skills/lint/SKILL.md':\n 'd26d0f631e7fa8653e9fa110e139584049796979ee1638e3601059906cee6c78',\n '.claude/skills/quality-review/SKILL.md':\n '100ebdf18b3bd4cdd8ef683c2cddf9f9bcd9e25dc82ef9f685f1e8dbbc630703',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro/SKILL.md':\n 'dfa8182df00d3d3935e475ec34de8b3f7fba2819065261bb8e595147434a1aeb',\n '.claude/skills/review-spec/SKILL.md':\n 'f643918f0da9c2b9d2c5b4675fd0096e441f1315c58f7b0d236b0ac6a1e71cbb',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n '4243eec9ddf77780028b8aa19f362ced4fa51673575feeccd7fa658eb0bc6080',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n 'f8312db9cf377906cef931e5e2a63917e76cffed5626c57dbf4a3239e7b0825a',\n '.claude/skills/verify/SKILL.md':\n '23900f59b8ba03fd4d5a0d49fbbe03f6fe54364d6eef009870e9a5694b97cd12',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n 'cc40e780a91da05a5b75eff4fc9385cefed69a13e71550cecf89293228a9a4eb',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'b4a1565cb734efc5a4209dee04402fab88a0bd0b27b3f4877df9bd91e58ee272',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '5186a34d7ab8a79ceb069ec5342f360d02db6c0b62c626503e53d7ea0f49b0f5',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '8278457053db9a25f7c07b62d52836d3d60e9f092b3650013ee1b1ea6b044fb1',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '395cfc48c6c32bc3825e00ad30083ec647404b32386afd897a9af03be628ed65',\n '.safeword/hooks/prompt-retro-nudge.ts':\n 'e434a748999ac32bc2ed09db019c7def95b67efb2cedb84a563a72ff2dbb4dfd',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '0fe2e7f68fdc30cea429e4d5b58d02a4430467f5508cde040fa620413f14e339',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '8522c9213d00378139751028ce37875e5b005bfa15d56da6698b25005a0ca792',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'ec44f19d57a0750d03816d146f64417bc1dd3f1edf4bb03d9386e9bb4a9f5583',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n 'eb251bb97bf1fd70776d6217d70da08823479b0c3e58cadc1a41c56ad0b09f89',\n '.safeword/hooks/stop-reentry.ts':\n 'cdf258da12fae6844ec9334cfa61521f5cc6a9b4cb0dbadb08c4ba798df7403e',\n '.safeword/hooks/stop-retro-filing.ts':\n '8938c5fa7da5ea232eb5a45526b207727e676cae2eb6f862104f8fad85d9db20',\n '.safeword/hooks/stop-retro.ts':\n '406496aa4c461aeeda7d659a4cc28a2c3f9e8d08596c3c74f1af8e8248275cbd',\n '.safeword/hooks/stop-self-report.ts':\n 'cbe0fabdd2f42070a7f5277c77d18bcabad81f4c8ac1c18e9b459a7e111cb483',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.70.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '379cb1f3ba62bfdb98c1f5383d7f460ac730371a34030b8879ab999b6e548585',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n 'e342a8fec91c403383f5ebce5c31c9eb4db555e77e56a6453b5b8ea0b97c118c',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'a86b45f577e530ce8ded59159960fbdba61243d36d61609bdbc52634e7613136',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '0d1f9498f74a39099cc61e578867226bcb149c96d09699ca7bafbc571873accb',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '379cb1f3ba62bfdb98c1f5383d7f460ac730371a34030b8879ab999b6e548585',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n 'e342a8fec91c403383f5ebce5c31c9eb4db555e77e56a6453b5b8ea0b97c118c',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.1': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '379cb1f3ba62bfdb98c1f5383d7f460ac730371a34030b8879ab999b6e548585',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.2': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'a86b45f577e530ce8ded59159960fbdba61243d36d61609bdbc52634e7613136',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '0d1f9498f74a39099cc61e578867226bcb149c96d09699ca7bafbc571873accb',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.3': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'a86b45f577e530ce8ded59159960fbdba61243d36d61609bdbc52634e7613136',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '0d1f9498f74a39099cc61e578867226bcb149c96d09699ca7bafbc571873accb',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.72.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '56ae79a72b5947b5a2ed319685232aac55d42deaf74decac11499b7082f2804f',\n '.claude/skills/audit/SKILL.md':\n '784da329a70fe34b6e3a477b50caaee0d6bbfc1a3ed1d33b213fd9fb55346f4d',\n '.claude/skills/bdd/DISCOVERY.md':\n '057b81e87cf4857c780e01ebebdc278485d3179c249335fbc38264784f0587bb',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n '96ca374881b14d59631583c82b73d73a27a98e86ea93b38f8a630256b41e7814',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '7912523b42a4637ad67306b03bee00f711437b3f6aa63eff03359bc3f2d938a8',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '6e33c42b4a12796de0f542f0317715b58fb16c22bf6797303563b40518d34357',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/closeout/SKILL.md':\n 'd612ee520e5d36ffc29d46e02e66c94b25d4d079bf9912d72f436830e317b460',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '641a12f6df44413424e247501fb22030b095336361bea1df0f1bbcbf5a6ae9ae',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '85d200d86d8b20f17b99209b12de7a12cdd28713de98519e3febc3373d798519',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n '8aa2949e1f1197a77784770690a2b834acc0c95d30ef1adc61edd1bfd494eeed',\n '.claude/skills/self-review/SKILL.md':\n '51bccc782884dc2ef6171465909df2726875bb308d0004fd2bbed13e51208ffc',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n 'e412319f4df946e146a377fb1581f4a6cc69faee92b4c25129593787506a2dd9',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n 'bc272acc87b1d52db960b2c96ac36ea553e21fdf161122312b74cd61157acb82',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '4d0c4506dc25d3988bf307eabdc8b3f65cf0712f4ed41cbc05d459222f472b8c',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '29f5f59378aa21c020ed2c182549628bf6ccf8f8417d74abede79c5353c26c5f',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '76f1b55c3173d3ebc2a819a41e06a814a57d78b94faf30108afed439dc7ce747',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '51cb48954d5b6154d1b4f831f9689fc5044cc8abf6aa9eb664fcddbf6fa859c0',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '9355b30aa20b3087c99332be4162ab98eec3c7b790ded0df7ac91d1bf2d2e58c',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '56cad026d6fb399c910c348623d92fe459011fb58b53ba9f18b861dd0f80caa9',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n },\n hook_entries: {\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-lint.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-sync-learnings.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-retro-filing.ts',\n type: 'command',\n },\n ],\n },\n '1748d249b1ef227d313b5da2e098dd26c38b78a1de5bb8f6f236ba567420a17d': {\n hooks: [\n {\n command:\n 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-reply-format.ts --agent=claude',\n type: 'command',\n },\n ],\n },\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-architecture-stage.ts',\n if: 'Bash(git commit*)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-bypass-warn.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-skill-nudge.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-quality.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit|Bash',\n },\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-stale-main.ts',\n if: 'Bash(git checkout*)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160': {\n hooks: [\n {\n command: 'bash \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-git-bare-fix.sh',\n if: 'Bash(git *)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-dependency-readiness.ts',\n type: 'command',\n },\n ],\n },\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-self-report.ts',\n type: 'command',\n },\n ],\n },\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/prompt-questions.ts',\n type: 'command',\n },\n ],\n },\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-work-log.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-stale-main.ts',\n if: 'Bash(git switch*)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-author-model.ts',\n type: 'command',\n },\n ],\n },\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff': {\n hooks: [\n {\n asyncRewake: true,\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-auto-upgrade.ts',\n type: 'command',\n },\n ],\n },\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d': {\n hooks: [\n {\n command:\n 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-safeword-context.ts --agent=claude',\n type: 'command',\n },\n ],\n matcher: 'compact',\n },\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-architecture-heal.ts',\n type: 'command',\n },\n ],\n },\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-reentry.ts',\n type: 'command',\n },\n ],\n },\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-quality.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0': {\n hooks: [\n {\n command: 'bash \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-bun-check.sh',\n type: 'command',\n },\n ],\n },\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007': {\n hooks: [\n {\n command:\n 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-safeword-context.ts --agent=claude',\n type: 'command',\n },\n ],\n },\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-version.ts',\n type: 'command',\n },\n ],\n },\n ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-dependency-readiness.ts',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-quality.ts',\n type: 'command',\n },\n ],\n },\n b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-quality.ts',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-cleanup-quality.ts',\n type: 'command',\n },\n ],\n },\n c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/prompt-timestamp.ts',\n type: 'command',\n },\n ],\n },\n cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-config-guard.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n d3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-compact-context.ts',\n type: 'command',\n },\n ],\n matcher: 'compact',\n },\n da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/prompt-retro-nudge.ts',\n type: 'command',\n },\n ],\n },\n eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-lint-check.ts',\n type: 'command',\n },\n ],\n },\n ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-dependency-readiness.ts',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-start-reentry.ts',\n type: 'command',\n },\n ],\n },\n fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429: {\n hooks: [\n {\n async: true,\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-retro.ts',\n type: 'command',\n },\n ],\n },\n },\n} as const;\n"],"mappings":"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CE;AAAA,MACF,yCACE;AAAA,MACF,kCACE;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,MACV,4CACE;AAAA,MACF,qDACE;AAAA,MACF,qCACE;AAAA,MACF,wCACE;AAAA,MACF,4CACE;AAAA,MACF,+CACE;AAAA,MACF,yCACE;AAAA,MACF,kDACE;AAAA,MACF,4CACE;AAAA,MACF,oDACE;AAAA,MACF,4CACE;AAAA,MACF,uCACE;AAAA,MACF,0CACE;AAAA,MACF,uCACE;AAAA,MACF,yCACE;AAAA,MACF,uCACE;AAAA,MACF,gDACE;AAAA,MACF,2CACE;AAAA,MACF,2CACE;AAAA,MACF,wCACE;AAAA,MACF,8CACE;AAAA,MACF,8CACE;AAAA,MACF,mDACE;AAAA,MACF,yCACE;AAAA,MACF,2CACE;AAAA,MACF,+CACE;AAAA,MACF,4CACE;AAAA,MACF,sCACE;AAAA,MACF,mCACE;AAAA,MACF,mCACE;AAAA,MACF,wCACE;AAAA,MACF,iCACE;AAAA,MACF,uCACE;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,kBAAkB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,YAAY,CAAC,kEAAkE;AAAA,IACjF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,oCACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;A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","names":["stable","stable"]}
|
|
1
|
+
{"version":3,"sources":["../src/claude-plugin/historical-ownership.ts","../src/utils/hooks.ts","../src/claude-plugin/historical-catalogue.generated.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\n\nimport { normalizeSafewordHookCommands } from '../utils/hooks.js';\nimport { CLAUDE_HISTORICAL_CATALOGUE } from './historical-catalogue.generated.js';\n\nfunction sha256(content: Buffer | string): string {\n return createHash('sha256').update(content).digest('hex');\n}\n\nfunction compareKeys(left: string, right: string): number {\n if (left === right) return 0;\n return left < right ? -1 : 1;\n}\n\nfunction stable(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(child => stable(child));\n if (typeof value !== 'object' || value === null) return value;\n return Object.fromEntries(\n Object.entries(value)\n .toSorted(([left], [right]) => compareKeys(left, right))\n .map(([key, child]) => [key, stable(child)]),\n );\n}\n\nexport function historicalCatalogueDigest(): string {\n return sha256(JSON.stringify(CLAUDE_HISTORICAL_CATALOGUE));\n}\n\ninterface CatalogueRelease {\n readonly files: Record<string, string>;\n readonly hook_files: Record<string, string>;\n readonly hooks: Record<string, readonly string[]>;\n}\n\n/**\n * Every release whose exact bytes Safeword may contract: the current template\n * plus each supported pre-plugin release. Ownership is proven against the union,\n * so a project installed from any catalogued release is recognized.\n */\nfunction acceptedReleases(): CatalogueRelease[] {\n return [\n CLAUDE_HISTORICAL_CATALOGUE.current,\n ...Object.values(CLAUDE_HISTORICAL_CATALOGUE.releases),\n ];\n}\n\nfunction acceptedHookFingerprints(event: string): string[] {\n return acceptedReleases().flatMap(release => release.hooks[event] ?? []);\n}\n\nexport function isAcceptedHistoricalFile(relativePath: string, content: Buffer | string): boolean {\n const digest = sha256(content);\n return acceptedReleases().some(release => release.files[relativePath] === digest);\n}\n\nexport function isAcceptedHistoricalHookFile(\n relativePath: string,\n content: Buffer | string,\n): boolean {\n const digest = sha256(content);\n return acceptedReleases().some(release => release.hook_files[relativePath] === digest);\n}\n\nexport function isAcceptedHistoricalHook(event: string, entry: unknown): boolean {\n const canonical = JSON.stringify(stable(normalizeSafewordHookCommands(entry)));\n const fingerprint = sha256(canonical);\n return acceptedHookFingerprints(event).includes(fingerprint);\n}\n\nexport function acceptedHistoricalHookEntries(event: string): unknown[] {\n return [...new Set(acceptedHookFingerprints(event))].map(fingerprint =>\n historicalHookEntry(fingerprint),\n );\n}\n\nexport function historicalHookEntry(fingerprint: string): unknown {\n return (CLAUDE_HISTORICAL_CATALOGUE.hook_entries as Record<string, unknown>)[fingerprint];\n}\n\nexport function supportedClaudeLegacyReleases(): string[] {\n return Object.keys(CLAUDE_HISTORICAL_CATALOGUE.releases);\n}\n\nexport function cataloguedClaudeLegacyPaths(): string[] {\n return [...new Set(acceptedReleases().flatMap(release => Object.keys(release.files)))].toSorted(\n (left, right) => left.localeCompare(right),\n );\n}\n","/**\n * Hook utilities for Claude Code settings\n */\n\nfunction stable(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(child => stable(child));\n if (typeof value !== 'object' || value === null) return value;\n return Object.fromEntries(\n Object.entries(value)\n .toSorted(([left], [right]) => left.localeCompare(right))\n .map(([key, child]) => [key, stable(child)]),\n );\n}\n\nfunction omitOwnedCommandTimeouts(value: unknown): unknown {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return value;\n const entry = value as Record<string, unknown>;\n const withoutTopLevelTimeout = Object.fromEntries(\n Object.entries(entry).filter(([key]) => key !== 'timeout'),\n );\n if (!Array.isArray(entry.hooks)) return withoutTopLevelTimeout;\n return {\n ...withoutTopLevelTimeout,\n hooks: entry.hooks.map(command => {\n if (typeof command !== 'object' || command === null || Array.isArray(command)) return command;\n return Object.fromEntries(\n Object.entries(command as Record<string, unknown>).filter(([key]) => key !== 'timeout'),\n );\n }),\n };\n}\n\nexport function normalizeSafewordHookCommands(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(child => normalizeSafewordHookCommands(child));\n if (typeof value !== 'object' || value === null) return value;\n return Object.fromEntries(\n Object.entries(value).map(([key, child]) => {\n if (key !== 'command' || typeof child !== 'string') {\n return [key, normalizeSafewordHookCommands(child)];\n }\n for (const executable of ['bun', 'bash']) {\n for (const relative of ['.safeword/hooks/', './.safeword/hooks/']) {\n const prefix = `${executable} ${relative}`;\n if (child.startsWith(prefix)) {\n return [\n key,\n `${executable} \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/${child.slice(prefix.length)}`,\n ];\n }\n }\n }\n return [key, child];\n }),\n );\n}\n\nfunction hookIdentity(hook: unknown, omitTimeout = false): string {\n const normalized = normalizeSafewordHookCommands(hook);\n return JSON.stringify(stable(omitTimeout ? omitOwnedCommandTimeouts(normalized) : normalized));\n}\n\nfunction filterHooksByIdentity(\n hooks: unknown[],\n ownedHooks: readonly unknown[],\n omitTimeout: boolean,\n): unknown[] {\n const owned = new Set(ownedHooks.map(hook => hookIdentity(hook, omitTimeout)));\n return hooks.filter(hook => !owned.has(hookIdentity(hook, omitTimeout)));\n}\n\n/**\n * Filter only exact Safeword-owned hook entries from an array. Callers provide\n * the entries they own; paths and command substrings are never deletion proof.\n * @param hooks\n * @param ownedHooks\n */\nexport function filterOutSafewordHooks(\n hooks: unknown[],\n ownedHooks: readonly unknown[],\n): unknown[] {\n return filterHooksByIdentity(hooks, ownedHooks, false);\n}\n\n/** Replace older forms of hooks Safeword currently owns, ignoring timeout drift. */\nexport function filterOutEquivalentSafewordHooks(\n hooks: unknown[],\n ownedHooks: readonly unknown[],\n): unknown[] {\n return filterHooksByIdentity(hooks, ownedHooks, true);\n}\n","// Generated by scripts/generate-claude-historical-catalogue.ts. Do not edit.\nexport const CLAUDE_HISTORICAL_CATALOGUE = {\n schema_version: 1,\n current: {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '008fa4b5777834118ba0efd008862df52dd32d3feec2218537d7c90cbfdfd904',\n '.claude/agents/safeword-reviewer.md':\n '13333228aa180c0ff040ccfe4e16058147fadc596b51df0d6d73caeb01755470',\n '.claude/skills/audit/SKILL.md':\n '9da1c1379274ed239b02115bbb0e986c298a64dbf0a3109c8c878360a3318993',\n '.claude/skills/bdd/DISCOVERY.md':\n 'c229895c53030b8f44ff563dd3728d8f4a4e4e593d8c29ae9349283ea25b5d91',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n '8ed89fca82f6e71b77351674f12d5d7c1380574e326e05ca1912caf84ff4ff9b',\n '.claude/skills/bdd/SCENARIOS.md':\n 'c808d4c8455f8f6248f85e2d2403e881bdab83e0ac19e8c3dd9c28fb9c2ee8f4',\n '.claude/skills/bdd/SKILL.md':\n 'df9f7927be3289f3ffb0444d49ae25fe601ce33b9661f7a809f74dff8da40ff0',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '2865c9efa57682eb211cc101f9db15f529bd605c3a2bebb57131e2a6d3aec79d',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/closeout/SKILL.md':\n '3eda7ae5172eb795da38c31a6e96d07a40154fd7a3ae4d9824c9c044b286f571',\n '.claude/skills/debug/SKILL.md':\n 'ae56c4c9287f76a2250d13fa9908f5726ed4edbe4080ece10d1559507e242bd0',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '18e2b44e9a91562079b3e1f52fcd9f952b5f57a0f0e7647b0273809848a75c0d',\n '.claude/skills/finish-review/REVIEWER.md':\n '0ecee21a63f91e09d3136f62cf8f7590ba9a640b85cad7b7b35c1ae334ff43c2',\n '.claude/skills/finish-review/SKILL.md':\n 'e9ed5d198994b6cca12c62b1a4c13a1db2d82d65fc8a9173a41c5b5cf312cd52',\n '.claude/skills/lint/SKILL.md':\n 'fdde749fe9ce764f6f9325f963c092d457960494fe78dd04d65d53a50e7cfd19',\n '.claude/skills/quality-review/SKILL.md':\n 'b940905d31cd4931665e023a65824a923a2bd5d7f590358355576cff8f3bc42a',\n '.claude/skills/refactor/SKILL.md':\n 'a51a858fb13b50cbc86789edbde8a39e364b5cdd7d5d3b025d555d90b221760e',\n '.claude/skills/retro-filer/SKILL.md':\n 'ea126f3805a2befefb4db2011439f075ebfd6eca31b78bd5f284ac11d667b4f0',\n '.claude/skills/retro/SKILL.md':\n '166e5109193bad4c26e060f6841d71c03f9155c7e74e1853c43b99b01c25d379',\n '.claude/skills/review-spec/SKILL.md':\n 'ee3d3cf1c548e67dfcfb58f55c2d667fee7466b1f0ab6cad050c67c1b940fe33',\n '.claude/skills/self-review/SKILL.md':\n 'e5ff994ec84573e6f129127bad89617f0a67b67c5cf792cedac558b6e419ac3b',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n '4b945f122a90d23462845d7bdbbd0b736aa69d423a2d7e99ebf646bf118faa4f',\n '.claude/skills/testing/SKILL.md':\n '697a4b090935989e0c8a53462d2b44087afafa50adc69e9a98da14bed23dbde9',\n '.claude/skills/ticket-system/SKILL.md':\n '97595a9875cdca30ea26c809a26e5be7df338a42034d6122b559e70275f2477e',\n '.claude/skills/verify/SKILL.md':\n '26763f7fbc900b6994938db93e3b1e1e601ccded59d74c45f528a73fe71ec92f',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n 'bc272acc87b1d52db960b2c96ac36ea553e21fdf161122312b74cd61157acb82',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n 'b730b5c63eb5b860203a2b453aaddbf8271050cab8b3479c23bc8fcc47d79205',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n 'd23343dc3185916140a4b25572f3bb413aece93311f5084444c0debe188f85b8',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n 'b97d1639e4598197baa11c71d640f0cbff79f5bf72b38736ad1f4484bb06e1cf',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '78353d6f47adb0ed9969e83b40429d5792a98789dff67ec0bc4d5a024b1da457',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '76f1b55c3173d3ebc2a819a41e06a814a57d78b94faf30108afed439dc7ce747',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '51cb48954d5b6154d1b4f831f9689fc5044cc8abf6aa9eb664fcddbf6fa859c0',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '4810e508b3ef79e162c6e74e169e24f8eb7ae7980549ba3f53e640424ae10773',\n '.safeword/hooks/session-dependency-readiness.ts':\n '295d14c5a3d8112b01259cf89ce718144a568e62e0baf5aaa19eca3fcfdc50ff',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-reply-format.ts':\n '41f7578e93188d5efacdd9ecbf29f72753a6fe98bca71fe321c61f547aeb8532',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n 'c6160a3ea0ef65345c89b3c1dcf5a4177a408d94ab7efda82d86f9d455815c64',\n '.safeword/hooks/stop-quality.ts':\n '34da4375dd284343bdae0f112a253d2aa2ea5d06d096dadd8774831e41018ffd',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n 'ae5693347a530547701c7fd9efd9d76ee4f690cd235b7e28b409d59d6090417d',\n '.safeword/hooks/stop-retro.ts':\n '5b0767121376bac1ad9f2b57765f0e705b1c34bff72724133014d31e39c0b916',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '1748d249b1ef227d313b5da2e098dd26c38b78a1de5bb8f6f236ba567420a17d',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n releases: {\n '0.68.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n 'd0adabee189a52adac5bb79ef92e8fc8201cf69d89680ec1db96385722527aa1',\n '.claude/skills/audit/SKILL.md':\n '66de01380bd88cbc95b26888f23b70363a640262b6dab138531085be8194ca24',\n '.claude/skills/bdd/DISCOVERY.md':\n 'b207684a7615f83df08e68d9e13660b2745e247e18f611bc9b606904bef4319b',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/SCENARIOS.md':\n '1be1365aa5dc1302bf10c5d74a6f50e28e28555b83e963e7257029d92a4910f4',\n '.claude/skills/bdd/SKILL.md':\n '75ed76b99df6fb818e3a63d9428d87b7228a2f136218d74bf1dc666b711be8cd',\n '.claude/skills/bdd/SPLITTING.md':\n '17367d157ebde2b2f9da04798615981527fe0cbb0da0fd5770818fd17adb88d8',\n '.claude/skills/bdd/TDD.md':\n '4f11431c53f377f309a2ee57d051c1f59557244ff92c3c0e07226e52f38e3ac1',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n '4fb21183502edd0806dc4a520b95b12c161294e69150f8c32f719095fc2e5f44',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '14f697e93d3f287caf5e2c0aa49b6ef20ee73da2faea7f6dc3f6eef7f79ee049',\n '.claude/skills/lint/SKILL.md':\n 'd26d0f631e7fa8653e9fa110e139584049796979ee1638e3601059906cee6c78',\n '.claude/skills/quality-review/SKILL.md':\n '6c0e4891fb70e0371cc2268d671d8d802c46a08c986032ae55493d803d5b6dfb',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro/SKILL.md':\n 'dfa8182df00d3d3935e475ec34de8b3f7fba2819065261bb8e595147434a1aeb',\n '.claude/skills/review-spec/SKILL.md':\n 'cd61d4a6b22164cf1d14479553ada2502aacb8a36f137e59593ffdbd5540a91a',\n '.claude/skills/self-review/SKILL.md':\n 'c6502e0e3a067e4ffbe641e09f9de224d538bede7695c7f9b829acb01497e3ac',\n '.claude/skills/tdd-review/SKILL.md':\n 'b190130a5bdf3ce2a47fd955c20835db5d75911095b422ef0aecd4c97fa3df2f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '1531780c2e04a8a3bc9fd5b48735cc6b4a4b2faac59337a93975136b2c200eaa',\n '.claude/skills/verify/SKILL.md':\n '23900f59b8ba03fd4d5a0d49fbbe03f6fe54364d6eef009870e9a5694b97cd12',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n 'cc40e780a91da05a5b75eff4fc9385cefed69a13e71550cecf89293228a9a4eb',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'b4a1565cb734efc5a4209dee04402fab88a0bd0b27b3f4877df9bd91e58ee272',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '5186a34d7ab8a79ceb069ec5342f360d02db6c0b62c626503e53d7ea0f49b0f5',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '1fbb02f389eb1716d95f9ac91a75589894dbfbc0e030a91427b3b86e932e9002',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '029f3be85a3adb23aed34075a67ec49e9e0cac48c0c0dff325544d9fe6651af0',\n '.safeword/hooks/prompt-retro-nudge.ts':\n 'e434a748999ac32bc2ed09db019c7def95b67efb2cedb84a563a72ff2dbb4dfd',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '0fe2e7f68fdc30cea429e4d5b58d02a4430467f5508cde040fa620413f14e339',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '8522c9213d00378139751028ce37875e5b005bfa15d56da6698b25005a0ca792',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'ec44f19d57a0750d03816d146f64417bc1dd3f1edf4bb03d9386e9bb4a9f5583',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '7c96bf0f152c6864c50787d62859172a316d19e8ed730fec5106ea7d41b2326d',\n '.safeword/hooks/stop-reentry.ts':\n 'cdf258da12fae6844ec9334cfa61521f5cc6a9b4cb0dbadb08c4ba798df7403e',\n '.safeword/hooks/stop-retro-filing.ts':\n '8938c5fa7da5ea232eb5a45526b207727e676cae2eb6f862104f8fad85d9db20',\n '.safeword/hooks/stop-retro.ts':\n '406496aa4c461aeeda7d659a4cc28a2c3f9e8d08596c3c74f1af8e8248275cbd',\n '.safeword/hooks/stop-self-report.ts':\n 'cbe0fabdd2f42070a7f5277c77d18bcabad81f4c8ac1c18e9b459a7e111cb483',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.69.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n 'd0adabee189a52adac5bb79ef92e8fc8201cf69d89680ec1db96385722527aa1',\n '.claude/skills/audit/SKILL.md':\n '5d532b2980976d758927ebf6e66a5e9022d83a421c936c378bca1391aa5d58a4',\n '.claude/skills/bdd/DISCOVERY.md':\n '9850364b48f66dc207cb9c8058f7564f70a5ac331a4bd188d71f3215c22d3dc4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '59c07c9ad8914a60d879450e3ffe54cd79b199a652b70f7fa6156c7c87c27b60',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '337c1c44e2b961da26de2a776fe599557b2ff2f606059b15fb5b948a1fa54c20',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n '4fb21183502edd0806dc4a520b95b12c161294e69150f8c32f719095fc2e5f44',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '14f697e93d3f287caf5e2c0aa49b6ef20ee73da2faea7f6dc3f6eef7f79ee049',\n '.claude/skills/lint/SKILL.md':\n 'd26d0f631e7fa8653e9fa110e139584049796979ee1638e3601059906cee6c78',\n '.claude/skills/quality-review/SKILL.md':\n '100ebdf18b3bd4cdd8ef683c2cddf9f9bcd9e25dc82ef9f685f1e8dbbc630703',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro/SKILL.md':\n 'dfa8182df00d3d3935e475ec34de8b3f7fba2819065261bb8e595147434a1aeb',\n '.claude/skills/review-spec/SKILL.md':\n 'f643918f0da9c2b9d2c5b4675fd0096e441f1315c58f7b0d236b0ac6a1e71cbb',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n '4243eec9ddf77780028b8aa19f362ced4fa51673575feeccd7fa658eb0bc6080',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n 'f8312db9cf377906cef931e5e2a63917e76cffed5626c57dbf4a3239e7b0825a',\n '.claude/skills/verify/SKILL.md':\n '23900f59b8ba03fd4d5a0d49fbbe03f6fe54364d6eef009870e9a5694b97cd12',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n 'cc40e780a91da05a5b75eff4fc9385cefed69a13e71550cecf89293228a9a4eb',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'b4a1565cb734efc5a4209dee04402fab88a0bd0b27b3f4877df9bd91e58ee272',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '5186a34d7ab8a79ceb069ec5342f360d02db6c0b62c626503e53d7ea0f49b0f5',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '8278457053db9a25f7c07b62d52836d3d60e9f092b3650013ee1b1ea6b044fb1',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '395cfc48c6c32bc3825e00ad30083ec647404b32386afd897a9af03be628ed65',\n '.safeword/hooks/prompt-retro-nudge.ts':\n 'e434a748999ac32bc2ed09db019c7def95b67efb2cedb84a563a72ff2dbb4dfd',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '0fe2e7f68fdc30cea429e4d5b58d02a4430467f5508cde040fa620413f14e339',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '8522c9213d00378139751028ce37875e5b005bfa15d56da6698b25005a0ca792',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'ec44f19d57a0750d03816d146f64417bc1dd3f1edf4bb03d9386e9bb4a9f5583',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n 'eb251bb97bf1fd70776d6217d70da08823479b0c3e58cadc1a41c56ad0b09f89',\n '.safeword/hooks/stop-reentry.ts':\n 'cdf258da12fae6844ec9334cfa61521f5cc6a9b4cb0dbadb08c4ba798df7403e',\n '.safeword/hooks/stop-retro-filing.ts':\n '8938c5fa7da5ea232eb5a45526b207727e676cae2eb6f862104f8fad85d9db20',\n '.safeword/hooks/stop-retro.ts':\n '406496aa4c461aeeda7d659a4cc28a2c3f9e8d08596c3c74f1af8e8248275cbd',\n '.safeword/hooks/stop-self-report.ts':\n 'cbe0fabdd2f42070a7f5277c77d18bcabad81f4c8ac1c18e9b459a7e111cb483',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.70.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '379cb1f3ba62bfdb98c1f5383d7f460ac730371a34030b8879ab999b6e548585',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n 'e342a8fec91c403383f5ebce5c31c9eb4db555e77e56a6453b5b8ea0b97c118c',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'a86b45f577e530ce8ded59159960fbdba61243d36d61609bdbc52634e7613136',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '0d1f9498f74a39099cc61e578867226bcb149c96d09699ca7bafbc571873accb',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '379cb1f3ba62bfdb98c1f5383d7f460ac730371a34030b8879ab999b6e548585',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n 'e342a8fec91c403383f5ebce5c31c9eb4db555e77e56a6453b5b8ea0b97c118c',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.1': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'ae8fd9fe228b8005606414c339342a8ba15331511d1b6f90eaca7e608bf08c53',\n '.claude/skills/bdd/SCENARIOS.md':\n '379cb1f3ba62bfdb98c1f5383d7f460ac730371a34030b8879ab999b6e548585',\n '.claude/skills/bdd/SKILL.md':\n 'ee1fbce1054cab1fd0263341925c546c0f7070afdd2dbc1b6d974ae02188cf8b',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.2': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'a86b45f577e530ce8ded59159960fbdba61243d36d61609bdbc52634e7613136',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '0d1f9498f74a39099cc61e578867226bcb149c96d09699ca7bafbc571873accb',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.71.0-rc.3': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '562f68cdec41156ec1ea1a74a4041ddef225b34d66f29b87e34363c6952cffe9',\n '.claude/skills/audit/SKILL.md':\n '2653e4439921c4b53338159345001927df949d872c065c6c99aca5952c3444d4',\n '.claude/skills/bdd/DISCOVERY.md':\n 'bab275004297553f0d16f65a7c6d2313c402886acd5f1ae2f4e6a1469dd1d1f4',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n 'a86b45f577e530ce8ded59159960fbdba61243d36d61609bdbc52634e7613136',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '0d1f9498f74a39099cc61e578867226bcb149c96d09699ca7bafbc571873accb',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '3263c9b2b0f56d38080b6552e29ae26232d7f5a38085d883fff3593e84f55636',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '269b5236690afc80a3983cae7735d870500a6e51562ce39696030846159f764b',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '69784daf36495f00611e0057b6cc52a0ce0a0be4744c96d5ee37f784251cfb52',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n 'c029ae859b5a2e7ae72bf47351695e1dc2d371d08874f323b6c8edaf79673b29',\n '.claude/skills/self-review/SKILL.md':\n '8536a465238363c25aaadb971745d2504e14552f6c2583a17691e4102b17b5a3',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n '1980ba580e89d5c0ec1d47a6ff60aefd9d12a19922efbae18da61333a97bf13e',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n '9ad40afef962e0133eb80d958f21c2c2e8e5d692c59ed5c7a325914ad05812aa',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '6a9db8288c41ec3e66c0fc8281cd752ffb61ed017d44f952416384a0c8d339ae',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '0a6cc9568d795b1da37a06416061be0fe2bdc4724f578b3e6a94bd999edded7e',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '351495796bebcc97b031043ec6d17ce801be121a5fe76c81535f7b2eab6802d5',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '65ddec922bb677b58b82e96567624aabb15f2deba77ce3ce8af5ca73ef6c928a',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '0b30324e00532f095ded4f711d06f3dd4c25737beea29f4432690e91fed8c9b9',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '7f8d11fe57ba4ea86c71eb3c6b7e44912501076e32eaf63aff8c802aaa1850bf',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n '0.72.0': {\n files: {\n '.claude/agents/safeword-retro-filer.md':\n '56ae79a72b5947b5a2ed319685232aac55d42deaf74decac11499b7082f2804f',\n '.claude/skills/audit/SKILL.md':\n '784da329a70fe34b6e3a477b50caaee0d6bbfc1a3ed1d33b213fd9fb55346f4d',\n '.claude/skills/bdd/DISCOVERY.md':\n '057b81e87cf4857c780e01ebebdc278485d3179c249335fbc38264784f0587bb',\n '.claude/skills/bdd/DONE.md':\n 'e9f22430341cf225eaf58ef6335720c5033cb8f6779425d5740adc0ff80a5f60',\n '.claude/skills/bdd/PLAN_IMPLEMENTATION.md':\n '96ca374881b14d59631583c82b73d73a27a98e86ea93b38f8a630256b41e7814',\n '.claude/skills/bdd/SCENARIOS.md':\n '1600df799059ea9d399f6a7bdd16c0f03be2cdd1f1f743595c350600a5d9ce5b',\n '.claude/skills/bdd/SKILL.md':\n '7912523b42a4637ad67306b03bee00f711437b3f6aa63eff03359bc3f2d938a8',\n '.claude/skills/bdd/SPLITTING.md':\n 'e232a37a4d76f0dfc51e65965c1e1b7f1572e0dedce0fb8c031e75bd6544a708',\n '.claude/skills/bdd/TDD.md':\n '6e33c42b4a12796de0f542f0317715b58fb16c22bf6797303563b40518d34357',\n '.claude/skills/bdd/VERIFY.md':\n '85abadfe756a3f391779fe500cd5c66597a33e0cab7fcef55f6b633b30818f31',\n '.claude/skills/brainstorm/SKILL.md':\n 'fe99638bd1621cbd5fe3780a8d39023d4b175e3be2aef2e60d0ebe7558848f2e',\n '.claude/skills/cleanup-zombies/SKILL.md':\n 'e0af9635774767cf36eb69726e11c642ec1dad42839c11407ea8ef60f89fc289',\n '.claude/skills/closeout/SKILL.md':\n 'd612ee520e5d36ffc29d46e02e66c94b25d4d079bf9912d72f436830e317b460',\n '.claude/skills/debug/SKILL.md':\n '730bc2878af36eaaf7e91d34ab76c3bcd8d05820753eed42582d70c4822daaf5',\n '.claude/skills/elicit/SKILL.md':\n '2638c773ce241a886563d1db8abbee70d72edefa780f762c0ed095df0f65cee5',\n '.claude/skills/explain/SKILL.md':\n '6673eccef3a9e68659c4e4b81b1e63bf9da03b1ae802dc7d22f419cb7c65472d',\n '.claude/skills/figure-it-out/SKILL.md':\n '4552275007b0161037a1791233722a89dac16f963f55aab80fc7a9b6b37f67d4',\n '.claude/skills/lint/SKILL.md':\n '208ec54032cabdcb532d1070e5ef5f1fcd6f0f0bfe8daf08e4ecf007aa285f66',\n '.claude/skills/quality-review/SKILL.md':\n '641a12f6df44413424e247501fb22030b095336361bea1df0f1bbcbf5a6ae9ae',\n '.claude/skills/refactor/SKILL.md':\n 'ecfd1b594e9a4c18387e6b9bc84a5bd1ded6b0b3df40a69271ba779ce2b7f122',\n '.claude/skills/retro-filer/SKILL.md':\n '85d200d86d8b20f17b99209b12de7a12cdd28713de98519e3febc3373d798519',\n '.claude/skills/retro/SKILL.md':\n '8e7b5912810c1e0fe596ff2367b5bc7d3890bd86db5719f49e3c0227b0fdd44a',\n '.claude/skills/review-spec/SKILL.md':\n '8aa2949e1f1197a77784770690a2b834acc0c95d30ef1adc61edd1bfd494eeed',\n '.claude/skills/self-review/SKILL.md':\n '51bccc782884dc2ef6171465909df2726875bb308d0004fd2bbed13e51208ffc',\n '.claude/skills/spike/SKILL.md':\n '905aab56037ad5a258bafa91cb2ebf05cff1acffbc9e1fd6f7a1f27230672f37',\n '.claude/skills/tdd-review/SKILL.md':\n 'f49a7e07dea7a62f39e9919c0c4251ede4ec2dec72b9892e7e0c42205d510e6f',\n '.claude/skills/testing/SKILL.md':\n 'e361b302f7a3f71ca6fdc30d65dbc6fc20bfeedaa012c489c3af96c20d1332d5',\n '.claude/skills/ticket-system/SKILL.md':\n '12798a8ebd1fb2bb65b4ee42fb3611d12f6817bc6cd27af829294ef31bfed27b',\n '.claude/skills/verify/SKILL.md':\n 'e412319f4df946e146a377fb1581f4a6cc69faee92b4c25129593787506a2dd9',\n },\n hook_files: {\n '.safeword/hooks/post-tool-bypass-warn.ts':\n 'f7f9d408e58e2f3f223b9a2a94447560671dcdc7e7bac8d35e786417337fce8a',\n '.safeword/hooks/post-tool-dependency-readiness.ts':\n '21bc470f5f84f1ad11f7d757738ca09f1a2fbd509ecf20beea7d77e1a46f93f4',\n '.safeword/hooks/post-tool-lint.ts':\n 'f563b8f7ceebbed051d261ed87ed908199555274cdcc795ba0619f78d07876fa',\n '.safeword/hooks/post-tool-quality.ts':\n '15563ef325306e9ed63db14a15129b68f602dbe3648989eb70cab8f61a6da0ab',\n '.safeword/hooks/post-tool-skill-nudge.ts':\n 'a50c50975135af4183d52056b81234c2feb989e0ca3396fc5bee91662876bfe4',\n '.safeword/hooks/post-tool-sync-learnings.ts':\n 'bc272acc87b1d52db960b2c96ac36ea553e21fdf161122312b74cd61157acb82',\n '.safeword/hooks/post-tool-work-log.ts':\n 'f8816f7799c564006aad2b6469fbd4d04a51ba2ca3d6f3bdbe93bb03d17b6978',\n '.safeword/hooks/pre-tool-architecture-stage.ts':\n '4d0c4506dc25d3988bf307eabdc8b3f65cf0712f4ed41cbc05d459222f472b8c',\n '.safeword/hooks/pre-tool-config-guard.ts':\n '6bae1971493bc8fae0ce30db07f14a93ad660af11ca9fdf93518b23102d4f084',\n '.safeword/hooks/pre-tool-dependency-readiness.ts':\n '5b1f06f286f7d2ec6816ed923ca37aed7115e1b888b214b7c3d0ea19f819874a',\n '.safeword/hooks/pre-tool-git-bare-fix.sh':\n '0c75b7be01af1312cbbe86cf5964fb23520c8b9ef90f49075dd74e27ba58d414',\n '.safeword/hooks/pre-tool-quality.ts':\n '29f5f59378aa21c020ed2c182549628bf6ccf8f8417d74abede79c5353c26c5f',\n '.safeword/hooks/pre-tool-stale-main.ts':\n 'cec806aeb0bfd132d45102eab631155da82b48869f4159cb49cf205d354c3e7e',\n '.safeword/hooks/prompt-questions.ts':\n '57182cccb8550bb2b585c27672bc9bfef56f4688d0afc1afc18bf52661b7c2a6',\n '.safeword/hooks/prompt-retro-nudge.ts':\n '0800c8949b5cf2671173816d45e857f1759329e27b33fda7c7b16ecd54a9398a',\n '.safeword/hooks/prompt-timestamp.ts':\n 'd7939e98528717fed556adf65dcb9fd3c24fac530ba76be2db9c5faebbac27f3',\n '.safeword/hooks/session-architecture-heal.ts':\n '76f1b55c3173d3ebc2a819a41e06a814a57d78b94faf30108afed439dc7ce747',\n '.safeword/hooks/session-author-model.ts':\n '9cead0101141497aec277d6609ab1bfcbf7048cc02650e7f284ac15141eaf291',\n '.safeword/hooks/session-auto-upgrade.ts':\n '51cb48954d5b6154d1b4f831f9689fc5044cc8abf6aa9eb664fcddbf6fa859c0',\n '.safeword/hooks/session-bun-check.sh':\n '7365954b09c157e45e213981ebd0b609b97b81fb3e6b6b73571e23e459ef09ef',\n '.safeword/hooks/session-cleanup-quality.ts':\n 'b43a169e86d240ecc12ece40d5375a84c59db6dc9708c91849a55038144736a2',\n '.safeword/hooks/session-compact-context.ts':\n '5acc8a0359a3ea4c9b41bb37b9a539676c83531c3836c919520b4fc4b7c050b1',\n '.safeword/hooks/session-dependency-readiness.ts':\n '28c0268265f0dcbce04844faac5cbc9f9903ac4f8fa893a470ca6b102498613f',\n '.safeword/hooks/session-lint-check.ts':\n '54bfe1e63777fbed4f3a002a76cd627410ccc627832d1a1d2ef41bed1ea80cc2',\n '.safeword/hooks/session-safeword-context.ts':\n '56c7a97a760c978e747010192855709baad66adda31e04f6c35d9279b87b19a5',\n '.safeword/hooks/session-start-reentry.ts':\n 'b9f02a92eec2b195833660e9f5becab80e44a217094c188cd47b4ca9f7d1900d',\n '.safeword/hooks/session-version.ts':\n '60e487ff1b29ee6bf7ace671a39aad3ab7f3569a8b5f7694ba13c8f8720862af',\n '.safeword/hooks/stop-quality.ts':\n '9355b30aa20b3087c99332be4162ab98eec3c7b790ded0df7ac91d1bf2d2e58c',\n '.safeword/hooks/stop-reentry.ts':\n 'a84d34d0798c83177d6ccc733299e9632e8485b700ef92ec53f153d68a1cfba5',\n '.safeword/hooks/stop-retro-filing.ts':\n '89346f357126706623237a0c79c0ea5947b6b95493a7689b1aee5a4546e034de',\n '.safeword/hooks/stop-retro.ts':\n '56cad026d6fb399c910c348623d92fe459011fb58b53ba9f18b861dd0f80caa9',\n '.safeword/hooks/stop-self-report.ts':\n 'baf9f946918f74d2ec2916024c6a5e9818b5468a45ac177bbdb73443f66399e0',\n },\n hooks: {\n SessionStart: [\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0',\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0',\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff',\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007',\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33',\n 'eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d',\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c',\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f',\n 'f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923',\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d',\n 'd3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8',\n ],\n UserPromptSubmit: [\n 'c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082',\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c',\n 'da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80',\n ],\n Stop: [\n 'b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640',\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b',\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60',\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722',\n 'fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429',\n ],\n PreToolUse: [\n 'ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3',\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc',\n 'b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20',\n 'cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9',\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160',\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316',\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e',\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d',\n ],\n PostToolUse: [\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088',\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc',\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe',\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59',\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e',\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c',\n 'ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823',\n ],\n SessionEnd: ['bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f'],\n },\n },\n },\n hook_entries: {\n '02e010df74c5114d87b115f0252fbda3a5dd8610fb5e7177c116a4cc9ea8c088': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-lint.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '1161ed35ca2d43cccf62773b926add8982e4bc8d375412a8ba5e9ca99c34241e': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-sync-learnings.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '167b3fe8cf355f66018c6c0f774b6d2e73ebecc81d4659701f9bfe45e1001722': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-retro-filing.ts',\n type: 'command',\n },\n ],\n },\n '1748d249b1ef227d313b5da2e098dd26c38b78a1de5bb8f6f236ba567420a17d': {\n hooks: [\n {\n command:\n 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-reply-format.ts --agent=claude',\n type: 'command',\n },\n ],\n },\n '2d36e07ce195e76fa77dce0c3365269bcdd686d5130c39b9ba81b6b634e0b316': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-architecture-stage.ts',\n if: 'Bash(git commit*)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '2e0ec239ca638a9b4621493ef341d382054473fdac613fcbb876420a1b6fde59': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-bypass-warn.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '4537a8fa49d8fc6cb7b604789be118adc89ec6b69c56a2d2753c26ba408bb0fe': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-skill-nudge.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '49e2bc8bce947a8c427873963acab1bc872b11cda942e6a6617ec5af4d30a0cc': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-quality.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit|Bash',\n },\n '4d8bebe51f8e0160cbd954c539c217793362e4878dffbdb7b5a1cc527db4f33e': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-stale-main.ts',\n if: 'Bash(git checkout*)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '5fbab3be700e9ad4cd38aef9711316c1dc05fb202c818c5446c0cf1e9009b160': {\n hooks: [\n {\n command: 'bash \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-git-bare-fix.sh',\n if: 'Bash(git *)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '6208c493671fc67d1cd136ddd0a51de62175efce3498b902085373bc0ccc0db0': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-dependency-readiness.ts',\n type: 'command',\n },\n ],\n },\n '6988371a3718b3e8106f6758c4e71b180facb47eb4c6a9726a2e5318737feb60': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-self-report.ts',\n type: 'command',\n },\n ],\n },\n '6a8b982c578e094444df4106084135358672b402f3dbed42d0860cdff163cf0c': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/prompt-questions.ts',\n type: 'command',\n },\n ],\n },\n '7a318d747884bb53ecc1d4578c79772ececfb786ae3c9cba823cafb3095a743c': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-work-log.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '8181faff2ffc1e802bb47d826b3649c94c83dbe33b22df9f60ed62275e66114d': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-stale-main.ts',\n if: 'Bash(git switch*)',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n '82821d39ad90cc6d81c5ac22a97e68ecafbba6cf1281ae1c875d0503a26f6d3f': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-author-model.ts',\n type: 'command',\n },\n ],\n },\n '83138a5df5610b37cb9dfd291b69fada684446e4dbdda0ddbab5a7e1dbf7c1ff': {\n hooks: [\n {\n asyncRewake: true,\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-auto-upgrade.ts',\n type: 'command',\n },\n ],\n },\n '839788553e5e540ab64361a8075fe397ecd46117cbef48696f6faba3648d1d2d': {\n hooks: [\n {\n command:\n 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-safeword-context.ts --agent=claude',\n type: 'command',\n },\n ],\n matcher: 'compact',\n },\n '8c7cf4fdb7cbecebcb4a9f3ec16cdf6aa777c1dfcf7110cb432798c86e31276c': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-architecture-heal.ts',\n type: 'command',\n },\n ],\n },\n '8d16ca09ac8148e614366f91b2f3dec1cef6925f96a17eacd24706269356978b': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-reentry.ts',\n type: 'command',\n },\n ],\n },\n '921a0c53ce98ef7d84b1c6e4607f4703d1bda419fb6c813d0ed2925b0f16a9cc': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-quality.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n '98ed934c8e5cef5e3f94332b56968c980fde50fc79603e4dfe80ecaca49d77c0': {\n hooks: [\n {\n command: 'bash \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-bun-check.sh',\n type: 'command',\n },\n ],\n },\n '9dc99ba11055242f20b4f3c8944a382c2506931dcbdb6f99d97668b0afd70007': {\n hooks: [\n {\n command:\n 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-safeword-context.ts --agent=claude',\n type: 'command',\n },\n ],\n },\n '9ecd49f0d9143ba458f3db192dbe811184c6666ea3e74f9bf1d34d310dd0ba33': {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-version.ts',\n type: 'command',\n },\n ],\n },\n ada31831d8fc49b5b33bf72a5f0d47d883ca142a6f522fa2bbfff347174c07f3: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-dependency-readiness.ts',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n b8663c68fcb3cfa99a5eb61f521ac6ecca05aa4ff8d50f2502b2585845cff640: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-quality.ts',\n type: 'command',\n },\n ],\n },\n b999d2b8223d74226377cc18ba5ae8e166586195c72208758ff115b91e2dce20: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-quality.ts',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n bdd68a3e1c4e47e615b9acd472a88bb884fdc38d85bd418e761b91682b339c7f: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-cleanup-quality.ts',\n type: 'command',\n },\n ],\n },\n c35e7daf8dce6e9de2ed10cb1793bc88096b6da9625b5901f3a6e944b5337082: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/prompt-timestamp.ts',\n type: 'command',\n },\n ],\n },\n cfbb47df37dd5dabe4c53b4ed922011b53f96310a3c7092f953bc34acae0cbd9: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/pre-tool-config-guard.ts',\n type: 'command',\n },\n ],\n matcher: 'Edit|Write|MultiEdit|NotebookEdit',\n },\n d3086b18bd08c1fc5779951d6d2162bf15ca2ccfc9ac689b7f38007bf27a1bc8: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-compact-context.ts',\n type: 'command',\n },\n ],\n matcher: 'compact',\n },\n da9392c2520f6de0f4f5a649a58b578b7115f3a06ae6fb161bc71da58913ec80: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/prompt-retro-nudge.ts',\n type: 'command',\n },\n ],\n },\n eaaf5018219f6868c77b5e78e40363a77fd3cd18f6d92890677196616d7ef97d: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-lint-check.ts',\n type: 'command',\n },\n ],\n },\n ebbc830c0c899a3ec0ab44564ae1db5e9566a2753b71e818bcd906c9bfdad823: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/post-tool-dependency-readiness.ts',\n type: 'command',\n },\n ],\n matcher: 'Bash',\n },\n f859fd42b853152ccfb4352e25d9b0c5026ab169d5c20291422395988e22e923: {\n hooks: [\n {\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/session-start-reentry.ts',\n type: 'command',\n },\n ],\n },\n fb64b381e9af34f6a19277b572e46f9069266073c12e93e6851893a6a34b5429: {\n hooks: [\n {\n async: true,\n command: 'bun \"$CLAUDE_PROJECT_DIR\"/.safeword/hooks/stop-retro.ts',\n type: 'command',\n },\n ],\n },\n },\n} as const;\n"],"mappings":"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CE;AAAA,MACF,yCACE;AAAA,MACF,kCACE;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,MACV,4CACE;AAAA,MACF,qDACE;AAAA,MACF,qCACE;AAAA,MACF,wCACE;AAAA,MACF,4CACE;AAAA,MACF,+CACE;AAAA,MACF,yCACE;AAAA,MACF,kDACE;AAAA,MACF,4CACE;AAAA,MACF,oDACE;AAAA,MACF,4CACE;AAAA,MACF,uCACE;AAAA,MACF,0CACE;AAAA,MACF,uCACE;AAAA,MACF,yCACE;AAAA,MACF,uCACE;AAAA,MACF,gDACE;AAAA,MACF,2CACE;AAAA,MACF,2CACE;AAAA,MACF,wCACE;AAAA,MACF,8CACE;AAAA,MACF,8CACE;AAAA,MACF,mDACE;AAAA,MACF,yCACE;AAAA,MACF,2CACE;AAAA,MACF,+CACE;AAAA,MACF,4CACE;AAAA,MACF,sCACE;AAAA,MACF,mCACE;AAAA,MACF,mCACE;AAAA,MACF,wCACE;AAAA,MACF,iCACE;AAAA,MACF,uCACE;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,kBAAkB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,YAAY,CAAC,kEAAkE;AAAA,IACjF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,mCACE;AAAA,QACF,wCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,cAAc;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,CAAC,kEAAkE;AAAA,MACjF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,0CACE;AAAA,QACF,iCACE;AAAA,QACF,mCACE;AAAA,QACF,8BACE;AAAA,QACF,6CACE;AAAA,QACF,mCACE;AAAA,QACF,+BACE;AAAA,QACF,mCACE;AAAA,QACF,6BACE;AAAA,QACF,gCACE;AAAA,QACF,sCACE;AAAA,QACF,2CACE;AAAA,QACF,oCACE;AAAA,QACF,iCACE;AAAA,QACF,kCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,gCACE;AAAA,QACF,0CACE;AAAA,QACF,oCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,uCACE;AAAA,QACF,uCACE;AAAA,QACF,iCACE;AAAA,QACF,sCACE;AAAA,QACF,mCACE;AAAA,QACF,yCACE;AAAA,QACF,kCACE;AAAA,MACJ;AAAA,MACA,YAAY;AAAA,QACV,4CACE;AAAA,QACF,qDACE;AAAA,QACF,qCACE;AAAA,QACF,wCACE;AAAA,QACF,4CACE;AAAA,QACF,+CACE;AAAA,QACF,yCACE;AAAA,QACF,kDACE;AAAA,QACF,4CACE;AAAA,QACF,oDACE;AAAA,QACF,4CACE;AAAA,QACF,uCACE;AAAA,QACF,0CACE;AAAA,QACF,uCACE;AAAA,QACF,yCACE;AAAA,QACF,uCACE;AAAA,QACF,gDACE;AAAA,QACF,2CACE;AAAA,QACF,2CACE;AAAA,QACF,wCACE;AAAA,QACF,8CACE;AAAA,QACF,8CACE;AAAA,QACF,mDACE;AAAA,QACF,yCACE;AAAA,QACF,+CACE;AAAA,QACF,4CACE;A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","names":["stable","stable"]}
|