# Migration notes The user installer keeps application files in `~/.local/share/jarvis-qvac`, the service in `~/.config/systemd/user/jarvisd.service`, and the generated QVAC config in `~/.config/jarvis/qvac.config.json`. Memory, voice references, audit logs, and generated media remain under their existing Jarvis data directories. Upgrades stop a running `jarvisd.service`, uninstall the previous GNOME extension, and replace `~/.local/share/jarvis-qvac` from a staging directory so leftover files from older versions cannot mix with the new tree. Failed staging directories next to the install prefix are removed first. Existing config and data under `~/.config/jarvis`, `~/.local/share/jarvis`, and the model cache are preserved. If the service was running, the installer restarts it after the replacement; `--enable` also enables the unit. Run `systemctl --user daemon-reload` only when you install the service file by hand. The uninstall command requires `--yes` and preserves data. Add `--purge-data` only when the user explicitly wants Jarvis-owned memory, cache, and generated media removed.