diff --git a/docs/planning/SERENITY_CLEANUP_WAVE_1.md b/docs/planning/SERENITY_CLEANUP_WAVE_1.md index 1e7096d..443de40 100644 --- a/docs/planning/SERENITY_CLEANUP_WAVE_1.md +++ b/docs/planning/SERENITY_CLEANUP_WAVE_1.md @@ -316,17 +316,56 @@ Definition of done: - no public path depends on it - container removed -### Card D1 — prepare GameVault migration to PD +### Card D1 — choose PD target layout for GameVault and RomM wave Definition of done: -- target DB/appdata path chosen -- export/import path documented -- cutover checklist ready +- PD target appdata paths chosen for both apps +- decision recorded to use PD shared-postgres for GameVault unless blocked +- decision recorded to use PD shared-mariadb for RomM unless blocked +- required PD mount paths for libraries/assets/resources identified -### Card D2 — prepare RomM migration to PD +### Card D2 — stage PD database targets for the wave Definition of done: -- target DB/appdata path chosen -- export/import path documented -- cutover checklist ready +- GameVault target DB/user created on PD shared-postgres or explicit exception documented +- RomM target DB/user created on PD shared-mariadb or explicit exception documented +- connection details verified from the future PD app network context +- migration rollback notes captured before any source export + +### Card D3 — export and validate Serenity source databases +Definition of done: +- `gamevault` Postgres dump exported from Serenity and integrity-checked +- `romm` MariaDB dump exported from Serenity and integrity-checked +- source app versions and DB container versions recorded alongside dumps +- Postgres collation-version warning captured as a post-import remediation item + +### Card D4 — sync appdata for GameVault and RomM to PD staging paths +Definition of done: +- GameVault config/media/log paths copied to PD staging +- RomM config/assets/resources paths copied to PD staging +- large library mounts intentionally re-used from canonical storage instead of blindly duplicating data +- ownership/permissions on PD staging paths verified + +### Card D5 — cut over GameVault to PD +Definition of done: +- Serenity GameVault stopped only for the final cutover window +- PD GameVault starts against the PD target Postgres DB +- login, library visibility, metadata behavior, and save/upload paths verified +- public/LAN route updated if needed and verified +- Serenity `postgresql15` kept in place but clearly marked retirement-ready if cutover succeeds + +### Card D6 — cut over RomM to PD +Definition of done: +- Serenity RomM stopped only for the final cutover window +- PD RomM starts against the PD target MariaDB DB +- UI, library visibility, assets/resources, background jobs, and metadata behavior verified +- public/LAN route updated if needed and verified +- Serenity `MariaDB-Official` kept in place but clearly marked retirement-ready if cutover succeeds + +### Card D7 — retire Serenity DB remnants after cooldown +Definition of done: +- GameVault and RomM remain healthy on PD through an observation window +- Serenity `postgresql15` and `MariaDB-Official` are stopped and removed only after successful PD validation +- Serenity-side DB appdata is retained for cooldown/rollback, not deleted immediately +- docs and host inventory updated to show Serenity no longer carries those DB pairs ## Open item that still needs verification