3.C Real CardDAV sync + vCard round-trip #179

Closed
opened 2026-07-27 13:11:54 +00:00 by KofTwentyTwo · 1 comment
KofTwentyTwo commented 2026-07-27 13:11:54 +00:00 (Migrated from github.com)

Phase 3 — Feature completeness (behind the API). Crate: nuncio-contacts (+ proto + CLI).

Make contacts real: an actual CardDAV sync with vCard round-tripping.

Scope / acceptance criteria

  • Real CardDAV client — HTTP(S) CardDAV sync replacing any stubbed
    transport; wiremock-mocked in tests (no live network).
  • vCard round-trip — parse fetched vCards into the contacts model and
    regenerate valid vCards on write; property coverage matches what the store holds.
  • Proto + CLI — a Contacts service (or additions) exposing list/sync over
    gRPC, driven by a nuncio-cli command.
  • Offline E2E: sync → list contacts against a mock CardDAV server. cargo verify green.

Note: proto lives in the shared proto/nuncio/v1/nuncio.proto — coordinate with the
Calendar/JMAP proto stories.

**Phase 3 — Feature completeness (behind the API).** Crate: `nuncio-contacts` (+ proto + CLI). Make contacts real: an actual CardDAV sync with vCard round-tripping. ### Scope / acceptance criteria - [ ] **Real CardDAV client** — HTTP(S) CardDAV sync replacing any stubbed transport; `wiremock`-mocked in tests (no live network). - [ ] **vCard round-trip** — parse fetched vCards into the contacts model and regenerate valid vCards on write; property coverage matches what the store holds. - [ ] **Proto + CLI** — a `Contacts` service (or additions) exposing list/sync over gRPC, driven by a `nuncio-cli` command. - [ ] Offline E2E: `sync → list contacts` against a mock CardDAV server. `cargo verify` green. Note: proto lives in the shared `proto/nuncio/v1/nuncio.proto` — coordinate with the Calendar/JMAP proto stories.
KofTwentyTwo commented 2026-07-28 14:06:02 +00:00 (Migrated from github.com)

Superseded by #187/#188 (M2) in the roadmap restructuring (milestones M1–M7). The replacement story carries the full, self-contained spec for a remote implementer. See docs/ROADMAP.md, docs/STORY-WORKFLOW.md, docs/HANDOFF.md.

Superseded by #187/#188 (M2) in the roadmap restructuring (milestones M1–M7). The replacement story carries the full, self-contained spec for a remote implementer. See docs/ROADMAP.md, docs/STORY-WORKFLOW.md, docs/HANDOFF.md.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/nuncio#179