Skip to content

v2: Move Reminders reads to EventKit and define the action boundary #91

Description

@jmcte

Problem / intent

Reminders currently reads private Core Data schemas. remindctl shows that public EventKit can provide a more stable, permission-scoped interface and normal iCloud synchronization, including optional actions. The project must improve reads without silently crossing its current read-only boundary.

Acceptance criteria

  • Use EventKit as the primary provider for lists and reminders with explicit authorization states and bounded results.
  • Preserve compatible read-only CLI behavior and clearly mark fields/private smart-list concepts that EventKit cannot provide.
  • Keep the private store only as an explicitly degraded, version-checked fallback.
  • Update permissions doctor for Reminders authorization rather than treating every failure as Full Disk Access.
  • Record an ADR for a future opt-in actions reminders namespace, including dry-run, confirmation, audit, and rollback limits.
  • Do not implement mutations in this issue.
  • Add framework-boundary tests and a permission-safe live smoke path.

Dependencies

Metadata

Metadata

Assignees

Labels

area:dataData, schema, storage, privacy, or migration surface.area:securitySecurity, auth, secret, permission, or policy surface.autonomy:review-gatedClass 2; autonomous work allowed, review/gate required.kind:featureFeature/product behavior work.lane:hermesHermes macOS/native lane.review:architectureNeeds architecture review.review:productNeeds product review.review:securityNeeds security review.risk:domainDomain correctness risk requiring subject-matter review.state:needs-reviewPR needs review.

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions