Problem
The hook setup (docs/hook-setup.md) configures a StopFailure hook for both Claude Code and Codex, and the bridge script (scripts/agent-pulse-hook) maps StopFailure → failed.
Claude Code does not emit a StopFailure hook event (its documented events are SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Notification, Stop, SubagentStop, PreCompact, SessionEnd). As a result, the failed state — including its red status dot and the clearCompleted() handling — is effectively unreachable from real hook traffic. The Codex hook configuration should be verified against its actual hook support as well.
Suggested fix
- Remove the
StopFailure entries from docs/hook-setup.md (or replace with a real failure signal if one exists).
- Decide whether the
failed state should be kept (e.g. driven by a different signal) or removed from AgentState.
- Verify the Codex
config.toml hook schema in the docs actually matches what Codex supports.
Problem
The hook setup (
docs/hook-setup.md) configures aStopFailurehook for both Claude Code and Codex, and the bridge script (scripts/agent-pulse-hook) mapsStopFailure→failed.Claude Code does not emit a
StopFailurehook event (its documented events areSessionStart,UserPromptSubmit,PreToolUse,PostToolUse,Notification,Stop,SubagentStop,PreCompact,SessionEnd). As a result, thefailedstate — including its red status dot and theclearCompleted()handling — is effectively unreachable from real hook traffic. The Codex hook configuration should be verified against its actual hook support as well.Suggested fix
StopFailureentries fromdocs/hook-setup.md(or replace with a real failure signal if one exists).failedstate should be kept (e.g. driven by a different signal) or removed fromAgentState.config.tomlhook schema in the docs actually matches what Codex supports.