04 — Decision points
Summary
The published schema and hooks reference give thirty-three events; SessionStart carries the briefing, PreToolUse an advisory copy of the verdict, Stop the usage flush. But a PreToolUse hook that times out does not block the tool, which the documentation states: the platform fails open. A draw whose balance cannot be derived is not a draw, and a Claude hook cannot express fail-closed. A git hook can, because it owns its exit code. So pre-commit and pre-push are the enforcement points, both settings and both say so; the http variant moves the decision off the machine but not the refusal, so any service sits behind the git hook. Local script for the pilot, as the specification recommended.
Key concepts
- Fails open on timeout — the tier test applied to a platform property
- The service behind the hook — step 7's shape
- Advisory, not enforcement — the PreToolUse handler returns the same verdict a second early
Key ideas
- A commit made by a subagent or a script is seen by git and not by the Claude hook, which is why git is the enforcement point.
- Whether project-level hooks run without a prompt is not documented and is to be observed.
Read the document
📄 Pack document · 04__decision-points.md · rendered from the raw markdown (the source of truth)