mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-11 02:33:10 +08:00
After the XDG migration the CLI reads from $XDG_DATA_HOME/ecc-homunculus/ (default ~/.local/share/ecc-homunculus/), but installs that retained an older manual copy at ~/.claude/homunculus/ saw observations land in the new location while `instinct-cli.py status` silently continued to look at the new directory only. The reporter spent hours tracing the divergence because nothing surfaced the legacy tree. Add `_detect_legacy_homunculus_dir()` which returns the legacy path when ~/.claude/homunculus/ contains real ECC state (projects/, instincts/, evolved/, or observations.jsonl) and the active HOMUNCULUS_DIR is different. `cmd_status` calls it at the bottom of its output and prints a one-time, scoped warning that names both paths and points at the existing migrate-homunculus.sh script. Empty placeholder directories (just ~/.claude/homunculus/ with no content) are ignored so users who have already migrated and left the empty shell behind don't get nagged on every status call. Tests cover three branches: populated legacy dir triggers the warning, absent legacy dir stays silent, and empty placeholder legacy dir stays silent.