diff --git a/CLAUDE.md b/CLAUDE.md index e27d1b325..3815361d2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,6 +17,17 @@ This file is read by Claude Code (and other agents that respect `CLAUDE.md`). Ke - Default to no `#` comments. Add one only when the WHY is non-obvious. - Test names carry scenarios (`test___`); per-test docstrings stay rare. +## Memory hygiene + +Auto-memory grows monotonically without a forcing function. These rules curb drift between sessions. They apply to `~/.claude/projects/-Users-dgursoy-Documents-Github-cora/memory/`. + +- Before creating a new memo, grep MEMORY.md for the topic; prefer edit-in-place over a new file. +- When tagging a memo SUPERSEDED, move its index entry to `## Reference` in the same edit. +- After a memo's content reaches SHIPPED and the work has been on main for 30+ days, demote its index entry to `## Reference`. +- Any index description containing a count, phase tag, or date older than 7 days requires a Read of the underlying file before quoting in chat. +- Mutable phase status does not belong in index descriptions; the index carries the durable claim, the file carries the status. +- Memo files over ~300 lines: split into 2-3 sibling files linked from the first. + ## Commits One-line subject, body explains WHY. Recent commits set the tone — `git log --oneline -10`.