diff --git a/docs/persistence.md b/docs/persistence.md index 4480495a..e0e65ba9 100644 --- a/docs/persistence.md +++ b/docs/persistence.md @@ -326,6 +326,17 @@ Under `/var/lib/hyperhive/agents//`: directories; the summary is bucketed and carries no raw byte counts, so an unchanged situation re-upserts as `changed == false` and never re-wakes. + + Retention, same hourly `hive-agent::vacuum::run` sweep as + `hyperhive-events.sqlite` below: delivered (soft-deleted) reminder + rows are reaped 14 days after delivery, kept that long only to serve + the trailing-window `ReminderRollup` stats; acked todo rows are + reaped 30 days after acking (long enough that only a genuinely quiet + month triggers the "one spurious re-announcement" fallback a + reconciled producer like `disk_watch` relies on — see `todos.rs`'s + module doc). Un-acked todos and undelivered reminders are never + swept — same "audit trail, not cache" treatment as the c0re-side + tables above. - `hyperhive-events.sqlite` — turn-loop event log. - `hyperhive-turn-stats.sqlite` — per-turn timing stats. - `hyperhive-model` — single-line model name override file.