Fixes
- Python launcher: direct-probe fallback for stripped PATH hook environments. Fixes 'no usable Python 3 interpreter found' errors on Stop/PostToolUse hooks (macOS Homebrew, Linuxbrew)
- Interpreter allowlist: hardened against circular trust (dynamic
brew --prefixreplaced with static paths) - Archive cleanup: moved after early-exit checks (no longer runs on every PostToolUse)
- SQLite preview: credential redaction applied to compressed_preview
- Safe root: TOKEN_OPTIMIZER_SAFE_ROOT validated against ~/.claude
- Python 3.9+: minimum bumped from 3.8 (is_relative_to requires 3.9)
- Security hardening (PR #35, @GalitGal): path cross-check, glob boundaries, interpreter allowlist, credential redaction, sensitive path filter, session UUID isolation, proc.poll guard