MailboxRepositoryImpl.syncMailboxes now dispatches on account type. For JMAP accounts: - First run: Mailbox/get → upsert all mailboxes, persist state. - Subsequent runs: Mailbox/changes → fetch new/updated via Mailbox/get, delete destroyed rows, update state in sync_state. path stores the JMAP mailbox ID so Email rows can reference it via mailboxPath consistently with the IMAP convention. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>