[New Feature] Multi-account IMAP fetch — connect multiple email accounts for label training data #7

Open
opened 2026-03-04 09:31:57 -08:00 by pyr0ball · 0 comments
Owner

Overview

Design doc: docs/plans/2026-02-27-avocet-multidomain-design.md

Avocet currently reads from a local JSONL file. Full multi-account IMAP support would allow:

  1. Connecting multiple email accounts (e.g. Gmail, Outlook, custom IMAP)
  2. Fetching emails matching configurable filters (subject keywords, date range, folder)
  3. Staging fetched emails into the existing data/queue.jsonl pipeline
  4. Respecting per-account rate limits and credential storage (never log credentials)

Key Decisions

  • Credentials stored in config/imap_accounts.yaml (gitignored; .example committed)
  • OAuth2 for Gmail/Outlook; IMAP/STARTTLS for custom servers
  • Fetch deduplication via message ID hash
  • ./manage.sh fetch triggers a manual pull; background polling is a future feature

Acceptance Criteria

  • ./manage.sh fetch fetches emails from all configured accounts and appends to queue
  • Duplicate message IDs are not re-added
  • Credentials are never written to logs or committed
  • At least one adapter tested: Gmail OAuth2 or generic IMAP
## Overview Design doc: `docs/plans/2026-02-27-avocet-multidomain-design.md` Avocet currently reads from a local JSONL file. Full multi-account IMAP support would allow: 1. Connecting multiple email accounts (e.g. Gmail, Outlook, custom IMAP) 2. Fetching emails matching configurable filters (subject keywords, date range, folder) 3. Staging fetched emails into the existing `data/queue.jsonl` pipeline 4. Respecting per-account rate limits and credential storage (never log credentials) ## Key Decisions - Credentials stored in `config/imap_accounts.yaml` (gitignored; `.example` committed) - OAuth2 for Gmail/Outlook; IMAP/STARTTLS for custom servers - Fetch deduplication via message ID hash - `./manage.sh fetch` triggers a manual pull; background polling is a future feature ## Acceptance Criteria - `./manage.sh fetch` fetches emails from all configured accounts and appends to queue - Duplicate message IDs are not re-added - Credentials are never written to logs or committed - At least one adapter tested: Gmail OAuth2 or generic IMAP
pyr0ball added the
enhancement
label 2026-03-14 16:44:26 -07:00
pyr0ball added this to the Alpha — Label Tool milestone 2026-03-14 16:44:34 -07:00
pyr0ball added this to the The Menagerie project 2026-03-14 16:44:36 -07:00
pyr0ball self-assigned this 2026-03-14 16:44:38 -07:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/avocet#7
No description provided.