Summary
Add user-owned, thread-stable delegated-contact persistence, a bulk delegation API with idempotent IMAP/database behavior, automatic cleanup, and normalized delegation metadata on all mail and GTD read surfaces.
Scope
- add the
gtd_delegations schema with contact snapshots and user/account/thread ownership
- add
POST /api/gtd/delegations with per-target atomic partial outcomes
- preserve existing person-less Delegated classification behavior
- compensate newly copied IMAP labels when persistence fails
- clean metadata after manual, automatic, and externally synchronized removal
- enrich GTD, inbox, message, thread, and search payloads without N+1 contact queries
This is roadmap PR5 and is backend-only. It follows #341 and blocks the delegated-contact UI PR.
Summary
Add user-owned, thread-stable delegated-contact persistence, a bulk delegation API with idempotent IMAP/database behavior, automatic cleanup, and normalized delegation metadata on all mail and GTD read surfaces.
Scope
gtd_delegationsschema with contact snapshots and user/account/thread ownershipPOST /api/gtd/delegationswith per-target atomic partial outcomesThis is roadmap PR5 and is backend-only. It follows #341 and blocks the delegated-contact UI PR.