focus-flow/Codex Documentation/Completed Plans/V1_ADR_006_Schedule_Snapshot_Policy.md

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.