diff --git a/graph/decisions/cognitive-memory-data-dir-moved-to-xdg-compliant-path-locals-dc9c26.md b/graph/decisions/cognitive-memory-data-dir-moved-to-xdg-compliant-path-locals-dc9c26.md new file mode 100644 index 00000000000..6c3ed16d4c9 --- /dev/null +++ b/graph/decisions/cognitive-memory-data-dir-moved-to-xdg-compliant-path-locals-dc9c26.md @@ -0,0 +1,28 @@ +--- +id: dc9c2638-360e-4e15-990c-76fcd16672c0 +type: decision +title: "Cognitive memory data dir moved to XDG-compliant path (~/.local/share/cognitive-memory/)" +tags: ["[\"cognitive-memory\"", "xdg", "architecture", "portability", "\"configuration\"]"] +importance: 0.85 +confidence: 0.8 +created: "2026-02-28T20:56:13.079823+00:00" +updated: "2026-02-28T20:56:13.079823+00:00" +--- + +# Cognitive Memory: XDG Base Directory Compliance + +Moved default data directory from hardcoded `~/.claude/memory/` to XDG Base Directory spec compliant location. + +## Resolution Order +1. `COGNITIVE_MEMORY_DIR` env var +2. `$XDG_DATA_HOME/cognitive-memory/` +3. `~/.local/share/cognitive-memory/` (XDG default) + +## Rationale +Makes the system distributable as a plugin without assuming Claude Code-specific paths. + +## Details +- `GRAPHS_BASE_DIR` is now a sibling: `cognitive-memory-graphs/` +- All scripts updated: `memory-git-sync.sh`, `ensure-symlinks.sh`, `edge-proposer.py` +- Cal's data physically moved from `~/.claude/memory/` to `~/.local/share/cognitive-memory/` +- Env var overrides removed from `bashrc`, fish config, and MCP server config — XDG default resolves naturally