{ "description": "Reference lifecycle hook definitions for ECC memory persistence. The production hook graph is hooks/hooks.json.", "events": [ { "event": "SessionStart", "id": "session:start", "script": "scripts/hooks/session-start-bootstrap.js", "purpose": "Load bounded prior context and detect project state at session start.", "blocking": false }, { "event": "PreCompact", "id": "pre:compact", "script": "scripts/hooks/pre-compact.js", "purpose": "Persist session state before context compaction.", "blocking": false }, { "event": "PreToolUse", "id": "pre:observe:continuous-learning", "script": "scripts/hooks/observe-runner.js", "purpose": "Record tool intent for continuous learning signals.", "blocking": false }, { "event": "PostToolUse", "id": "post:observe:continuous-learning", "script": "scripts/hooks/observe-runner.js", "purpose": "Record tool results for continuous learning signals.", "blocking": false }, { "event": "PostToolUse", "id": "post:session-activity-tracker", "script": "scripts/hooks/session-activity-tracker.js", "purpose": "Record per-session tool calls and file activity for ECC2 metrics.", "blocking": false }, { "event": "SessionEnd", "id": "session:end", "script": "scripts/hooks/session-end.js", "purpose": "Persist session-end summaries when transcript metadata is available.", "blocking": false } ] }