refactor: add sync-source state and read-only import guard #454

Manually merged
barrettruth merged 1 commit from issue-444-sync-source-read-only-guard into main 2026-05-14 03:19:29 +00:00
Owner

Problem

  • Closes #444.
  • Google imports need durable source state and a core read-only guard shared by Tasks and Calendar sync.

Solution

  • Add sync_sources storage and helpers for provider source state.
  • Link external task links to sync sources and detect read-only imported rows generically.
  • Guard user task mutation paths while keeping an explicit sync-engine update path.
  • Add schema/source/link/server mutation coverage.

Verification

  • direnv exec . pnpm vitest run tests/core/schema.test.ts tests/core/sync-sources.test.ts tests/core/external-links.test.ts tests/server/task-mutations.test.ts
  • direnv exec . pnpm vitest run tests/api/tasks-route-validation.test.ts
  • direnv exec . just ci
Problem - Closes #444. - Google imports need durable source state and a core read-only guard shared by Tasks and Calendar sync. Solution - Add `sync_sources` storage and helpers for provider source state. - Link external task links to sync sources and detect read-only imported rows generically. - Guard user task mutation paths while keeping an explicit sync-engine update path. - Add schema/source/link/server mutation coverage. Verification - direnv exec . pnpm vitest run tests/core/schema.test.ts tests/core/sync-sources.test.ts tests/core/external-links.test.ts tests/server/task-mutations.test.ts - direnv exec . pnpm vitest run tests/api/tasks-route-validation.test.ts - direnv exec . just ci
refactor: add sync source read-only guard
Some checks failed
quality / Test (pull_request) Successful in 20s
quality / Lint (pull_request) Successful in 26s
quality / Build (pull_request) Has been cancelled
04adfde91a
barrettruth manually merged commit 2c56221686 into main 2026-05-14 03:19:29 +00:00
Sign in to join this conversation.
No reviewers
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!454
No description provided.