# Rollback Guide

Status: PARTIAL

## Rollback Preconditions

- Identify the deployed application version.
- Confirm current migration level.
- Confirm whether any replacement, moderation, close, or export action happened after deployment.
- Preserve audit/history records. History remains append-only.

## Application Rollback

```sh
docker compose down
# restore previous image or source release
docker compose up -d
```

## Database Rollback

Database rollback is BLOCKED until production migration tooling is finalized. For now:

- Prefer forward fixes for append-only event data.
- Restore from a pre-deployment backup only when data loss has been accepted by the owner.
- Never rewrite wedding history to hide moderation, replacement, or restore events.

## Media Rollback

- Restore media volume/object-store snapshot if files are missing or corrupted.
- Do not delete immutable historical assets during ordinary rollback.

## Realtime Rollback

- Restart realtime gateway after application rollback.
- Clients recover by sequence-gap detection and canonical state refresh.
