Begin with a bounded full synchronization
List the messages or threads your product actually needs, fetch required fields, persist provider IDs and the newest history ID, and page until the chosen window is complete. Do not treat the first page as the mailbox.
- Explicit history window
- Stable Gmail message and thread IDs
- Lazy body and attachment retrieval