Part of #7. Phase 6 of 8.
Replace the two bash hook scripts with Python bodies and switch the hook templates to an OS-aware launcher (the runner selects bash or powershell per OS), so the hooks no longer hard-depend on bash. The bash fail-open machinery is retired in favor of a simple Python guard.
Changes: add Python check-init and pre-tool hooks, update the Copilot and Claude hook templates, port the hook tests, remove the bash hooks and the bash-specific lint.
Acceptance: hook tests pass on both OSes; a failing hook never blocks a tool call.
Depends on: Phase 5.
Drafted with Copilot 🤖
Part of #7. Phase 6 of 8.
Replace the two bash hook scripts with Python bodies and switch the hook templates to an OS-aware launcher (the runner selects
bashorpowershellper OS), so the hooks no longer hard-depend on bash. The bash fail-open machinery is retired in favor of a simple Python guard.Changes: add Python
check-initandpre-toolhooks, update the Copilot and Claude hook templates, port the hook tests, remove the bash hooks and the bash-specific lint.Acceptance: hook tests pass on both OSes; a failing hook never blocks a tool call.
Depends on: Phase 5.
Drafted with Copilot 🤖