stop-hook-fires-on-agent-idle-state-not-just-termination

The Stop hook fires whenever the agent finishes a turn and enters a waiting state (no pending tool calls), not only when a genuine session termination occurs. This causes repeated false-positive evaluations during multi-turn brainstorming flows where the agent asks a clarifying question and waits for user input. The hook has no way to distinguish ‘agent paused mid-conversation’ from ‘agent actually stopping’. Fix: add a session-state signal (e.g. open TodoWrite tasks, active skill checklist step in_progress) to gate the hook’s block/approve logic.