cleanup: canonicalize external link provider IDs #358

Closed
opened 2026-05-11 21:02:05 +00:00 by barrettruth · 0 comments
Owner

Parent: #355

Problem

task_external_links is the sync identity surface, but provider IDs are raw strings in core code and tests. Google Calendar/Tasks sync will expand this surface, so provider IDs should be explicit before feature work depends on them.

Solution

Add a small external-link provider contract for current/future sync sources:

  • define canonical provider IDs for ical, google_calendar, and google_tasks
  • use those IDs in external-links helpers and iCal import
  • remove unused sync/conflict placeholder types that are not backed by behavior
  • do not add Google sync behavior in this issue

Acceptance criteria

  • External link provider IDs are imported from one place instead of repeated raw strings.
  • iCal import behavior is unchanged.
  • Tests cover accepted provider IDs and uniqueness behavior.
Parent: #355 ## Problem `task_external_links` is the sync identity surface, but provider IDs are raw strings in core code and tests. Google Calendar/Tasks sync will expand this surface, so provider IDs should be explicit before feature work depends on them. ## Solution Add a small external-link provider contract for current/future sync sources: - define canonical provider IDs for `ical`, `google_calendar`, and `google_tasks` - use those IDs in external-links helpers and iCal import - remove unused sync/conflict placeholder types that are not backed by behavior - do not add Google sync behavior in this issue ## Acceptance criteria - External link provider IDs are imported from one place instead of repeated raw strings. - iCal import behavior is unchanged. - Tests cover accepted provider IDs and uniqueness behavior.
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
barrettruth/delta#358
No description provided.