Summary:
- Add shared Python launcher fallback, Git Bash path conversion, and JSON
config readers for hook configuration access.
- Route UserPromptSubmit, PostToolUse, SessionStart, Stop, and integrity
hooks through the shared config reader so /pua:off and feedback_frequency=0
work when only python is available.
- Add issue #159 Windows Git Bash regression coverage and bump all plugin
manifests to v3.2.8.
Rationale:
- Native Windows Python cannot open Git Bash /c/... paths directly, and some
Windows installations provide python without python3.
- The previous fallback treated config read failures as always_on=true, so
/pua:off could still inject PUA on frustration prompts.
Tests:
- for f in hooks/*.sh scripts/*.sh evals/*.sh; do bash -n "$f"; done
- bash evals/test-windows-python-hooks.sh
- bash evals/test-yaml-frontmatter.sh
- bash evals/test-release-consistency.sh
- bash evals/test-agent-governance.sh
- bash evals/test-pua-loop-hook.sh
- bash evals/test-integrity-guard.sh
- bash evals/test-behavior.sh
- bash evals/run-trigger-test.sh
- git diff --check
- python3 JSON parse check for plugin and hook manifests
Co-authored-by: Codex <codex@openai.com>