Back to Everything Claude Code

Memory Persistence Hooks

hooks/memory-persistence/README.md

2.0.02.2 KB
Original Source

Memory Persistence Hooks

These lifecycle hook definitions document ECC's memory persistence contract for Claude Code plugin and manual installs.

The executable implementations live in scripts/hooks/:

  • session-start.js loads bounded prior context, detects project state, and prepares session metadata.
  • pre-compact.js captures state before context compaction.
  • session-end.js persists session-end summaries when transcript metadata is available.
  • observe-runner.js records tool-use observations for continuous learning.
  • session-activity-tracker.js records tool usage and file activity for ECC2 status and observability.

The installed hook graph is still hooks/hooks.json. This directory is the stable, human-readable lifecycle definition surface referenced by the harness audit and longform docs.

Lifecycle Contract

EventHookPurposeBlocking
SessionStartsession:startLoad bounded prior context and project metadatano
PreCompactpre:compactSave state before compactionno
PreToolUsepre:observe:continuous-learningCapture tool intent for learning signalsno
PostToolUsepost:observe:continuous-learningCapture tool result for learning signalsno
PostToolUsepost:session-activity-trackerRecord tool and file activity for ECC2 metricsno
Stopstop:format-typecheckBatch quality gate after editsyes on hook failure
Stopstop:check-console-logAudit modified files for debug loggingwarn/error by hook output

Operator Expectations

  • Keep persistence local by default.
  • Avoid sending transcripts or tool traces to hosted services unless a user explicitly enables an integration.
  • Bound context loaded at session start with ECC_SESSION_START_MAX_CHARS.
  • Allow opt-out with ECC_SESSION_START_CONTEXT=off.
  • Keep lifecycle hooks profile-gated through ECC_HOOK_PROFILE and ECC_DISABLED_HOOKS.
  • hooks/hooks.json
  • hooks/README.md
  • scripts/hooks/session-start.js
  • scripts/hooks/pre-compact.js
  • scripts/hooks/session-end.js
  • scripts/hooks/observe-runner.js
  • scripts/hooks/session-activity-tracker.js
  • docs/architecture/observability-readiness.md