What the reviewer found
Nine LifeOS hooks under ~/.claude/hooks run on every prompt: PromptProcessing.hook.ts sends the prompt plus recent transcript turns to a Haiku inference helper to name the session, ReminderRouter.hook.ts runs gh issue create with the verbatim prompt in the configured WORK.REPO when a 'remind me to' phrase matches, VersionDrift.hook.ts runs git in ~/.claude, PromptProcessing also appends a custom-title record to the session's own .jsonl under ~/.claude/projects, and the others write state under ~/.claude/LIFEOS and inject context. PromptProcessing is truncated in the packet and every hook impor
telemetry— reports to a vendorunconditional— runs without any action from the userunreviewed-script— runs a script that could not be read
What was read
The hook definition and the 9 scripts it runs, fetched from danielmiessler/LifeOS:
LifeOS/install/hooks/hooks.jsonLifeOS/install/hooks/PromptProcessing.hook.tsLifeOS/install/hooks/SatisfactionCapture.hook.tsLifeOS/install/hooks/ReminderRouter.hook.tsLifeOS/install/hooks/VersionDrift.hook.tsLifeOS/install/hooks/MemoryTurnStart.hook.tsLifeOS/install/hooks/DriftReminder.hook.tsLifeOS/install/hooks/AlgorithmNudge.hook.tsLifeOS/install/hooks/TimeContext.hook.tsLifeOS/install/hooks/ModelRungGuard.hook.ts
What the static scan said
The 26-rule scan found nothing in this file; the review read it anyway.
How this review was made
Fable 5.1 read the files above on 7 September 2026 and answered three questions: is it dangerous to whoever installs it, is each scanner finding real, and what should the installer know. The verdict is bound to the file's hash; when the file changes, it is scanned afresh and reviewed again. A script that changes while the definition does not is not re-reviewed — that is a known gap. How the scan and the review work.