Skip to content

feat(reminders): centralize decisions in shared core - #66

Open
turinglambdaai wants to merge 1 commit into
mainfrom
feat/shared-reminder-decisions
Open

turinglambdaai wants to merge 1 commit into
mainfrom
feat/shared-reminder-decisions

Conversation

@turinglambdaai

Copy link
Copy Markdown
Owner

Closes #62.

Moves reminder eligibility, startup summarization, per-database session de-duplication, and delivery acknowledgement into the shared Racket application service. Native hosts now only schedule polls, request permission, localize the typed decision, and perform the OS handoff. Windows gains the previously missing native reminder delivery path; stale tokens are rejected after a database switch.

The core records emitted -> attempted -> delivered|failed. Emission is the no-duplicate boundary, including transport failure. Fixtures cover startup summary, repeated wakeups, local-midnight timing, completion, later due time, failed delivery, and stale acknowledgements after reopening the database. PRODUCT-SPEC, ARCHITECTURE, user guides, generated clients, and changelog are synchronized.

Starting source: 9ba9389194d44de876a8735ad51076fbc5c34fc9
Central policy read: 79a2b705a37a8c428c3d1a184d9f331d66624361
Authorization decision read: 2026-10-auth-1; this change does not add or alter a commercial gate.

Local validation:

  • raco test racket/ — 253 tests passed
  • raco rivet generate --check — generated clients fresh
  • focused reminder/wire/schema run — 219 tests passed

Local Windows native compilation is unavailable because this machine does not have MSVC Build Tools. Required CI and Product Acceptance must provide Windows, macOS, and Linux native build/package/UI evidence before merge.

Starting SHA: 9ba9389
Central policy SHA read: 79a2b705a37a8c428c3d1a184d9f331d66624361
Authorization decision: 2026-10-auth-1 (no commercial gate changes).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

architecture: keep reminder decisions in the shared product core

1 participant