pub fn migrate_v2_to_v3_install_filesystem(
install_root: &Path,
) -> Result<FilesystemMigrationReport>Expand description
V2 → V3 install-root filesystem migration.
- Back up the entire legacy
<install>/workspace/tree under<install>/backup-<ts>/legacy-workspace/(copy-not-rename so a partial failure leaves the legacy data untouched). - Iterate legacy top-level entries; for each, look up the V3
destination via
workspace_toplevel_v3_path(or thememory_subentry_v3_pathsub-dispatch formemory/) and move it. - Heal intermediate v0.8.0-pre installs by relocating
agents/default/workspace/skills/toshared/skills/.
Idempotent: on a fresh install or an already-migrated install the function is a no-op. Refuses to clobber an existing target — surfacing a WARN and leaving the legacy entry in place rather than overwriting operator data.