May 12, 2026
Full Contact Profiles, Email Manage, and Ability Rewire
After Phase 4 removed tool_library_service, MailCapability’s IMAP/CalDAV/CardDAV handlers were unreachable
After Phase 4 removed tool_library_service, MailCapability’s IMAP/CalDAV/CardDAV handlers were unreachable. They are now reconnected as proper Ability subclasses that delegate to handler closures and are discovered through the standard find_tools mechanism. The subconscious worker runs calendar sync every 10 minutes and contacts sync every 60 minutes, operating outside the idle gate by calling abilities directly.
Contacts now store full JSON profiles—name, nickname, typed emails and phones, organization, title—keyed by display name, instead of discarding everything except email→display_name. Broken sync steps that called read-only abilities were removed; the scheduler already drives MailCapability._do_monitor().
A new IMAP manage email handler supports four operations: delete (expunge), mark_read (\Seen flag), mark_important (\Flagged), and move_to_spam (RFC 6851 MOVE with copy+delete fallback). It is exposed as the “manage” action on the email ability.
A CalDAV response fix removed a bogus summary field that was returning the event’s UID instead of the title, which was already available in the title field.
Documentation was updated to reflect the new abilities (14→17), describe capability sync in the subconscious worker, and clarify email schema descriptions. Dead tool_library_service imports were removed from capabilities API, user_auth, and run.py; a 396-line test file for dead code was also deleted.
-
IMAP manage action with delete, mark read, mark important, and move-to-spam operations
-
Contacts now store full vCard profiles (name, nickname, typed emails/phones, org, title)
-
CalDAV list_events no longer returns a bogus summary field duplicating the uid
-
Mail, calendar, and contacts reconnected as proper Ability subclasses, discovered through find_tools
-
Background calendar sync every 10 minutes and contacts sync every 60 minutes via subconscious worker