# Backup Restore Test Log

## Purpose

Backups are only useful if restore paths are tested before an emergency. This log records recurring restore tests for the Agrarian project backup and the development VM backups.

Use this file for the durable project record. Handoff notes can summarize the latest result, but the evidence and cadence live here.

## Cadence

- Weekly: restore one small file from the latest project snapshot to a temporary folder and verify it matches the live file.
- Monthly: restore or inspect enough of the project repository snapshot to confirm Git metadata/history are usable.
- Monthly: verify the latest VM backup snapshot is readable by checking `SHA256SUMS` and inspecting the backed-up disk metadata.
- Quarterly: restore the project folder plus one VM definition/disk to a non-production test path.

## Evidence Required

Each entry should include:

- Date and local time.
- Backup type: project, VM, or full drill.
- Snapshot path, restic snapshot ID, or VM backup timestamp.
- Command or runbook section used.
- Result: Pass, Blocked, or Fail.
- Notes on what was restored, where it was restored, and whether cleanup was completed.

## Log

| Date | Type | Snapshot | Result | Evidence / Notes |
| --- | --- | --- | --- | --- |
| 2026-05-15 | Project restore-test log setup | `/mnt/backups/linastorage/backups/agrarian-game/project/restic-repository` | Blocked | Log created. The expected restic repository path was not present on Ubuntu-Codex at setup time, so the first project restore test must run after the Linastorage backup mount/repository is confirmed. |
| 2026-05-15 | VM restore-test log setup | `/mnt/user/backups/agrarian-game/vms/snapshots` | Blocked | Log created. The Unraid snapshot directory exists, but no VM snapshot directories were present at setup time. Run the first VM readability test after the next successful VM backup snapshot. |

## Project Restore Test Procedure

Use the project backup runbook for the authoritative paths:

```bash
mkdir -p /tmp/agrarian-project-restore-test
sudo sh -c 'RESTIC_PASSWORD_FILE=/root/.backup-secrets/agrarian-project-restic.password \
  restic -r /mnt/backups/linastorage/backups/agrarian-game/project/restic-repository \
  dump latest /mnt/projects/AgrarianGameBulid/AGRARIAN_DEVELOPMENT_ROADMAP.md \
  > /tmp/agrarian-project-restore-test/AGRARIAN_DEVELOPMENT_ROADMAP.md'
diff -q /mnt/projects/AgrarianGameBulid/AGRARIAN_DEVELOPMENT_ROADMAP.md \
  /tmp/agrarian-project-restore-test/AGRARIAN_DEVELOPMENT_ROADMAP.md
```

Record the restic snapshot ID, result, and cleanup status in the log table.

## VM Restore Test Procedure

Use the VM backup runbook for authoritative paths:

```bash
cd /mnt/user/backups/agrarian-game/vms/snapshots/<timestamp>
sha256sum -c SHA256SUMS
qemu-img info vms/Ubuntu-Codex/disks/hdc-vdisk1.img.qcow2
```

Record the VM snapshot timestamp, checksum result, disk metadata result, and cleanup status in the log table.

