v6.0.0 — the kit becomes a plugin, and the hot cache is actually loaded
The kit stops being a repository you clone and becomes a plugin you install into a repository you already have. Every memory path is unchanged — .claude/memory/MEMORY.md, context/handoffs/, knowledge/concepts/, .claude/rules/ — so nothing you have accumulated needs to move.
/plugin marketplace add awrshift/claude-memory-kit
/plugin install memory-kit@memory-kit
/memory-kit:setupThe bug that made this release urgent
Since v3 the kit told the agent that .claude/memory/MEMORY.md was "always loaded (hot path)". It never was. Claude Code auto-loads CLAUDE.md, .claude/rules/ and its own auto-memory directory — never the kit's file. CLAUDE.md carried no @ import of it, and session-start.py only ever read the file to measure it. The ritual wrote, session after session, into a file the agent saw only if it happened to open it.
The hook now injects the body of the cache and re-injects it after compaction. Verified end-to-end rather than by reading code: a canary token placed in a test repo's hot cache came back from the model through the real plugin loader.
The lesson generalizes, and is now written into the docs: a claim that something is "in context" is verified by looking at the context.
Also fixed
- Permissions. The allowlist shipped
Bash(git *),Bash(npm *),Bash(node *),Bash(python3 *)with an emptydeny— auto-approving forced pushes, hard resets and arbitrary execution vianode -e./memory-kit:setupnow proposes real rails. - The test guard. Creating a test with Write was allowed, then every later Edit of it was hard-blocked, so a red→green loop was impossible and there was no escape hatch. It now asks instead of refusing, always allows a file the session created, and honours
CMK_ALLOW_TEST_EDITS=1. - Telemetry scripts derived the project root from
__file__, so inside a pluginmemory-usagemeasured the plugin's own transcripts. - SessionStart profiles by source:
startup/clear/forkget the full payload,compactgets exactly what compaction dropped,resumegets only nudges and stats. The session counter no longer counts resumes. .claude/state/is pruned at 30 days instead of growing forever.
New
/memory-kit:setup— adopts the kit in an existing repo and settles the question Claude Code's own auto memory now forces: two memory systems means two writers and two truths, so setup asks who owns it./memory-kit:memory-audit— the cap-trip surgery, split out of the daily ritual. A ritual that also has to perform surgery is a ritual people skip./memory-kit:system-audit— a periodic seven-lens sweep of the whole system, every finding evidence-backed.
Removed
periodic-save.sh— a Stop hook fires at the end of every turn, and this one parsed the whole transcript each time, to restate what PreCompact already enforces at the moment it matters.- The daily chronicle (
/close-day,daily/) — demoted to opt-in in v5 because it rotted when days were skipped; in practice nobody enabled it. .kit/advanced/as a distribution surface, and the three-plugin split the first cut of v6 introduced: skill bodies load only on invoke, so the split paid a real cost to save a memory-only user a handful of description lines.
Migration from v5
- Remove the copies the plugin replaces:
.claude/hooks/,.claude/skills/close-session,.claude/skills/tour,.claude/memory/scripts/, and the kit's hook block in.claude/settings.json. Keep.claude/memory/MEMORY.md,context/handoffs/,knowledge/,.claude/rules/and your ownCLAUDE.md. /plugin marketplace add awrshift/claude-memory-kit→/plugin install memory-kit@memory-kit./memory-kit:setup— it detects what exists and only fills gaps.- Run
/contextand confirm the hot cache is really there. That is the check v5 never made.
Full detail: docs/CHANGELOG.md · docs/ARCHITECTURE.md