997 B
997 B
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.