feat/032-backup-scheduling-mvp #36

Merged
ahmido merged 14 commits from feat/032-backup-scheduling-mvp into dev 2026-01-07 01:12:13 +00:00
3 changed files with 3 additions and 3 deletions
Showing only changes of commit c00b2d32ee - Show all commits

View File

@ -1,5 +1,4 @@
# Requirements Checklist (032)
- [X] Tenant-scoped tables use `tenant_id` consistently. (Data model section in spec.md documents tenant_id on `backup_schedules` and `backup_schedule_runs`.)
- [X] 1 Run = 1 BackupSet (no rolling reuse in MVP). (Definitions + Goals in spec.md state the MVP semantics explicitly.)
- [X] Dispatcher is idempotent (unique schedule_id + scheduled_for). (Requirements FR-002 + FR-007 + plan's idempotent dispatch constraint specify unique slots.)
@ -11,3 +10,4 @@ # Requirements Checklist (032)
- [X] Retry/backoff policy implemented (no retry for 401/403). (NFR-003 and tasks T025 mention retry/backoff rules.)
- [X] Retention keeps last N and soft-deletes older backup sets. (FR-007 + tasks T033/T034 describe retention job & soft delete.)
- [X] Tests cover due-calculation, idempotency, job success/failure, retention. (Tasks T011-T037 include Pest tests for due calculation, idempotency, job outcomes, and retention.)
- [X] Retention keeps last N and soft-deletes older backup sets. (FR-007 + tasks T033/T034 describe retention job & soft delete.)

View File

@ -1,4 +1,3 @@
# Implementation Plan: Backup Scheduling MVP (032)
**Branch**: `feat/032-backup-scheduling-mvp` | **Date**: 2026-01-05 | **Spec**: specs/032-backup-scheduling-mvp/spec.md
@ -83,3 +82,4 @@ ## Phase Outputs
- Phase 0 (Outline & Research): `research.md`
- Phase 1 (Design & Contracts): `data-model.md`, `contracts/*`, `quickstart.md`
- Phase 2 (Tasks): `tasks.md` already exists; will be refined later via `/speckit.tasks` if needed
- Phase 1 (Design & Contracts): `data-model.md`, `contracts/*`, `quickstart.md`

View File

@ -110,4 +110,4 @@ ## Phase 6: Polish & Cross-Cutting Concerns
## Dependencies & Execution Order
Setup (Phase 1) → Foundational (Phase 2) → US1 (P1) → US2 (P1) → US3 (P2) → Polish
Setup (Phase 1) → Foundational (Phase 2) → US1 (P1) → US2 (P1) → US3 (P2) → Polish