forked from eva/focus-flow
1.2 KiB
1.2 KiB
V1 ADR 006: Schedule Snapshot Policy
Status: Accepted; updated to match current app state
Date: 2026-06-26
Last reviewed: 2026-07-07
Decision
Persist committed diagnostic schedule snapshots only. Snapshots are diagnostic records, not authoritative task state.
Snapshot retention is bounded by a retention_expires_utc timestamp derived from
the snapshot capture time plus 30 days. Repository cleanup deletes snapshots whose
retention expiry is before the cleanup instant.
Notice acknowledgement is stored separately in notice_acknowledgements. The
Today read model suppresses acknowledged notices when presenting pending notice
state, but acknowledgement does not delete the source snapshot early.
Consequences
- Snapshot rows can remain available for diagnostics until their retention expiry even after all displayed notices have been acknowledged.
- Notice acknowledgement is an application-layer read-model concern, not a snapshot lifecycle rule.
- Cleanup jobs and tests should target
retention_expires_utc, not notice acknowledgement status.