v1.3.1fossic2026-06-21

EveryNSeconds policy and recurring background GC

SnapshotPolicy::EveryNSeconds is now live — read_state schedules a background snapshot via the BackgroundExecutor during the next quiescent window; auto_gc_orphans now also schedules an hourly recurring GC task at store open.

v1.3.12026-06-21
  • ·EveryNSeconds(N) registers without error and fires schedule_background_snapshot after N seconds of quiet time; last_snapshot_us is updated optimistically at schedule time to prevent storm-scheduling in hot read_state loops
  • ·BacklogTask::recurring_interval re-queues GcOrphanSnapshots hourly when auto_gc_orphans=true; bg_take_snapshot on StoreInner is now fully implemented, replacing the NotImplemented placeholder
  • ·policy_not_implemented_seconds test renamed to policy_every_n_seconds_accepted; EveryNSeconds(0) now returns SnapshotPolicyInvalid (consistent with EveryNEvents(0))