Soul Archive v3.1.0 — Agent Commons co-location
What changed
Soul Archive now resolves its data directory dynamically:
| Condition | Resolved location |
|---|---|
You've joined Agent Commons (~/.agent-commons/ exists) |
~/.agent-commons/skills_data/soul-archive/ |
| Standalone use | ~/.skills_data/soul-archive/ |
--soul-dir flag or SOUL_DIR env var |
always wins |
Why
- If you use both projects: one directory to back up, one to migrate, one to inspect. Everything moves with you.
- If you only use Soul Archive: nothing changes — 100% standalone, no implicit dependency on Agent Commons.
Migration
Existing users with data at the legacy path can migrate at their own pace:
python scripts/soul_migrate.py --dry-run # see what would happen
python scripts/soul_migrate.py # interactive migration
python scripts/soul_migrate.py --rollback # reverse itThe migration is opt-in, atomic-ish, and reversible. It moves the directory in place, preserves timestamps, and leaves a forwarding README at the legacy location.
What's new
scripts/soul_paths.py— single source of truth for path resolution (Method A:--soul-dir/ SOUL_DIR → Method B:~/.agent-commons/skills_data/soul-archive/if Agent Commons joined → Method C:~/.skills_data/soul-archive/legacy fallback)scripts/soul_migrate.py— opt-in migration tool with--dry-runand--rollbackdocs/multi-device-sync.md— comprehensive backup, sync, and migration guide with privacy-layered.gitignoretemplates- All 8 existing scripts (
soul.py,soul_init.py,soul_extract.py,soul_chat.py,soul_reflect.py,soul_context.py,soul_report.py,soul_agent_memory.py) refactored to callresolve_soul_dir()instead of hard-coding paths
Backwards compatibility
- Users without
~/.agent-commons/see no behavior change. - Users with
~/.agent-commons/but data at the legacy path see no forced migration;resolve_soul_dir()detects existing data and continues to use it until the user runs the migration tool.
Companion release
This release pairs with agent-commons v0.2.0, which formalizes the ~/.agent-commons/skills_data/<skill-name>/ location as a non-normative convention in CONVENTIONS.md.
Soul Archive is the first adopter of this convention.
License: MIT.