zara-timers: alarms, timers and recurring reminder primitives #16

Closed
opened 2026-08-31 18:44:22 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-31 18:44:22 +00:00 (Migrated from github.com)

Plugin

zara-timers

Goal

Provide reliable local timer/alarm/reminder primitives for Zara, separate from calendar events and model-side conversational state.

Capabilities

  • create/list/get/cancel/pause/resume named timers;
  • alarms at absolute local times;
  • recurring reminders with explicit cadence/timezone;
  • countdown queries;
  • persisted timer state across Zara restarts;
  • emit due/fired/cancelled events;
  • optional desktop/voice notification integration.

Semantics

  • monotonic time for countdowns;
  • wall-clock/timezone-aware scheduling for alarms/recurrence;
  • missed-event policy is explicit after downtime;
  • stable IDs allow reliable cancellation/update;
  • persistence format is deterministic and recoverable.

Integration

Use zara-desktop/zara-voice for presentation when installed, but timing correctness must not depend on either.

Acceptance criteria

  • timer/alarm/reminder domain has stable IDs
  • countdown and wall-clock semantics are separated correctly
  • persistence/restart recovery is tested
  • recurring schedules and timezone behavior are tested
  • due events can be consumed by other plugins
  • tests use a fake clock and require no sleeping/network/GUI
  • README documents missed-event and persistence behavior
  • registry validation, plugin tests and nix flake check pass
## Plugin `zara-timers` ## Goal Provide reliable local timer/alarm/reminder primitives for Zara, separate from calendar events and model-side conversational state. ## Capabilities - create/list/get/cancel/pause/resume named timers; - alarms at absolute local times; - recurring reminders with explicit cadence/timezone; - countdown queries; - persisted timer state across Zara restarts; - emit due/fired/cancelled events; - optional desktop/voice notification integration. ## Semantics - monotonic time for countdowns; - wall-clock/timezone-aware scheduling for alarms/recurrence; - missed-event policy is explicit after downtime; - stable IDs allow reliable cancellation/update; - persistence format is deterministic and recoverable. ## Integration Use `zara-desktop`/`zara-voice` for presentation when installed, but timing correctness must not depend on either. ## Acceptance criteria - [ ] timer/alarm/reminder domain has stable IDs - [ ] countdown and wall-clock semantics are separated correctly - [ ] persistence/restart recovery is tested - [ ] recurring schedules and timezone behavior are tested - [ ] due events can be consumed by other plugins - [ ] tests use a fake clock and require no sleeping/network/GUI - [ ] README documents missed-event and persistence behavior - [ ] registry validation, plugin tests and `nix flake check` pass
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara-plugins#16
No description provided.