# Quickstart: Backup/Restore Job Orchestration (049)

## Goal

Ensure backup/restore “start/execute” actions never run heavy work inline. They create (or reuse) a Run Record and queue the work.

## Local development

- Bring Sail up: `./vendor/bin/sail up -d`
- Run migrations: `./vendor/bin/sail artisan migrate`
- Run a queue worker (separate terminal): `./vendor/bin/sail artisan queue:work`

## Testing

Run the most relevant tests first:

- Unit helpers: `./vendor/bin/sail artisan test tests/Unit/RunIdempotencyTest.php`
- Snapshot capture orchestration: `./vendor/bin/sail artisan test --filter=PolicyCaptureSnapshot`
- Restore orchestration: `./vendor/bin/sail artisan test --filter=RestoreRun`
- Cross-tenant authorization: `./vendor/bin/sail artisan test --filter=RunAuthorization`

## Operational notes

- Run records must be tenant-scoped and never contain secrets.
- Preview/dry-run must remain read-only.
- Use de-duplication for active runs to prevent double-click duplication.
