771 B
771 B
Requirements Checklist (032)
- Tenant-scoped tables use
tenant_idconsistently. - 1 Run = 1 BackupSet (no rolling reuse in MVP).
- Dispatcher is idempotent (unique schedule_id + scheduled_for).
- Concurrency lock prevents parallel runs per schedule.
- Run stores status + summary + error_code/error_message.
- UI shows schedule list + run history + link to backup set.
- Run now + Retry are permission-gated and write DB notifications.
- Audit logs are written for dispatcher, runs, and retention (tenant-scoped; no secrets).
- Retry/backoff policy implemented (no retry for 401/403).
- Retention keeps last N and soft-deletes older backup sets.
- Tests cover due-calculation, idempotency, job success/failure, retention.