Skip to content

Add email, calendar, and contacts provider contracts #9

Description

@mdheller

Summary

Add the next Exodus provider-contract tranche for email, calendar, and contacts across Apple, Google, Microsoft, and open standards.

Why

Email, calendar, and contacts are core lock-in surfaces. Exodus cannot be credible for real users unless it can preserve and normalize Gmail, iCloud Mail, Outlook/Exchange, IMAP archives, calendar exports, and contact exports.

Contract family

Add initial contracts for:

  • EmailSourceProfile
  • EmailThreadDocument
  • EmailAttachmentRecord
  • CalendarSourceProfile
  • CalendarEventRecord
  • ContactSourceProfile
  • ContactRecord
  • AddressBookSnapshot

Initial provider/source surfaces

Email

  • Gmail / Google Takeout Mail
  • iCloud Mail / Apple Mail exports
  • Outlook / Exchange / Microsoft 365 mail
  • generic IMAP
  • MBOX
  • Maildir
  • EML folders
  • Proton/Fastmail/Yahoo/Zoho exports where available

Calendar

  • Google Calendar exports
  • iCloud Calendar exports
  • Outlook / Exchange calendars
  • CalDAV
  • ICS files

Contacts

  • Google Contacts exports
  • iCloud Contacts exports
  • Outlook / Exchange contacts
  • CardDAV
  • vCard files

Required semantics

  • raw export/archive custody first
  • provider IDs and message IDs remain source aliases
  • thread/message/event/contact records are normalized derivatives
  • attachments become linked blobs
  • redaction review is required before proof-pack export
  • deleted/archived/spam/trash states are preserved where available
  • calendar recurrence and timezone context are preserved
  • contact merge/dedupe is derivative and must not erase source aliases

Acceptance criteria

  1. Each contract has a valid example fixture.
  2. A validator checks all fixtures.
  3. Email threading preserves message IDs, parent/child relationships, timestamps, headers, and attachments.
  4. Calendar records preserve timezone, recurrence, attendees, reminders, and source calendar aliases.
  5. Contact records preserve source address book, names, emails, phones, addresses, organizations, notes, and source aliases.
  6. Open standards are first-class: IMAP, MBOX, Maildir, EML, ICS, CalDAV, CardDAV, and vCard.
  7. Provider APIs are ingress surfaces only; canonical records live in Exodus/evidence fabric.

Non-goals

  • No live provider API implementation in this issue.
  • No automatic contact merge as canonical truth.
  • No automatic email deletion or account downgrade.
  • No public proof-pack export without redaction review.

Related

  • SocioProphet/exodus#5
  • SocioProphet/exodus#8
  • SocioProphet/sociosphere#288

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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