Claude Code Hook Contract Ownership Alignment
- Moved the Claude Code
SessionStarthook contract into.claude-plugin/plugin.jsonso the Claude-specific hook owner now lives with the Claude plugin manifest instead of a generic roothooks/file. - Removed the obsolete
hooks/hooks.jsoncompatibility surface and kepthooks/run-hook.cmdas the command wrapper Claude Code still invokes.
Windows Hook Documentation And Verification Sync
- Updated
docs/windows/polyglot-hooks.mdso the Windows-safe hook guidance now points to.claude-plugin/plugin.json, explains why the Claude hook contract should stay out of the generic roothooks/surface, and preserves the reusable.cmdwrapper pattern. - Updated
tests/e2e/claude-hook-permissions-check.shand the historical release-note readback so Claude hook verification now inspects the current manifest owner.
README Surface And Skill-Path Boundary Clarifications
- Updated multiple release-facing end-to-end checks to match the current README surface layout where
README.mdis the Chinese default surface andREADME.en.mdis the English companion. - Clarified in
CLAUDE.md,GEMINI.md,docs/README.codex.md, andskills/writing-skills/SKILL.mdthat repositoryskills/paths are the canonical source layout while hosts may load installed or generated views at runtime, and that bare supporting-file references inside a skill resolve relative to that skill directory unless stated otherwise.
Verification
bash scripts/bump-version.sh 2.0.8bash scripts/bump-version.sh --checkbash tests/e2e/claude-hook-permissions-check.shbash tests/e2e/activation-mode-check.shbash tests/e2e/run-all.sh --full --host-profile fastgit diff --check