Headless email communication and evidence service.
Find a file
2026-06-02 02:07:50 +02:00
config feat: start mailbox evidence scanner 2026-06-02 01:19:09 +02:00
docs feat: expand mailbox evidence scanner 2026-06-02 02:07:50 +02:00
reports feat: start mailbox evidence scanner 2026-06-02 01:19:09 +02:00
spec Seeded repo with intent and PRD 2026-06-01 23:56:07 +02:00
src/email_connect feat: expand mailbox evidence scanner 2026-06-02 02:07:50 +02:00
tests feat: expand mailbox evidence scanner 2026-06-02 02:07:50 +02:00
workplans feat: expand mailbox evidence scanner 2026-06-02 02:07:50 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-06-02 00:46:07 +02:00
.gitignore feat: start mailbox evidence scanner 2026-06-02 01:19:09 +02:00
AGENTS.md chore: register with state hub 2026-06-02 00:36:01 +02:00
CLAUDE.md chore: register with state hub 2026-06-02 00:36:01 +02:00
INTENT.md Seeded repo with intent and PRD 2026-06-01 23:56:07 +02:00
LICENSE Initial commit 2026-06-01 21:37:38 +00:00
pyproject.toml feat: start mailbox evidence scanner 2026-06-02 01:19:09 +02:00
README.md feat: expand mailbox evidence scanner 2026-06-02 02:07:50 +02:00
SCOPE.md chore: register with state hub 2026-06-02 00:36:01 +02:00

email-connect

Headless, provider-neutral email communication and evidence service.

The first implementation slice is the Mailbox Evidence Scanner MVP: scan a return mailbox or fixture directory, classify inbound email-channel evidence, store scan state locally, and generate timestamped CSV reports without overclaiming delivery, awareness, or coordination success.

Quickstart

PYTHONPATH=src python3 -m unittest discover -s tests
PYTHONPATH=src python3 -m email_connect.cli adapter-descriptor
PYTHONPATH=src python3 -m email_connect.cli scan-mailbox --config config/mailbox.example.yml --out reports/

The example config uses tests/fixtures/mailbox as a mailbox source. Runtime state is written to .email-connect/state.sqlite; generated CSV reports are written to reports/.

For a live mailbox, set mailbox.protocol: imap, configure host, port, folder, and credential environment variable names, then export the credentials before running scan-mailbox. IMAP scans select the configured folder read-only and fetch message bodies with BODY.PEEK[]; mailbox write-back actions such as marking messages seen are intentionally unsupported in this MVP.

Current Scope

  • Coordination-engine spec review and references.
  • Initial adapter descriptor, capability profile, evidence ceiling, and limitations.
  • Fixture and read-only IMAP mailbox sources.
  • Conservative mailbox message parser and evidence mapper.
  • SQLite state store with scan cursor, message/evidence deduplication, and endpoint quality hints.
  • CSV report generation, including --report-only-new.
  • Golden fixture tests for hard bounce, soft bounce, delayed delivery, final failure, complaint, unsubscribe, unknown return, out-of-office, and human reply signals.

Provider webhooks, outbound sending, suppression workflows, OAuth mailbox login, and a UI remain outside this first mailbox-scanner slice.