The mbox / local-archive mail-source adapter is currently a documentation stub. Land the concrete CLI per tools/mail-source/mbox/README.md. Read-only by construction — no drafts, no writes to the archive file.
Operations to implement:
list_recent_threads(list, since) — parse mbox, group messages by References: / In-Reply-To:, filter by Date:
read_thread(thread_id) — return full message history for the thread root
thread_url(thread_id) — build archive deep-link if the adopter has a public archive (PonyMail / Hyperkitty / Pipermail), else file://
Format sniffing should accept: a single mbox file, a Maildir/ directory, or a directory of .eml files.
Why:
- Forensics / late triage — the inbox is gone but a snapshot exists.
- Air-gapped triage — a thumbdrive snapshot of
security@ for an audit window.
- Compliance / discovery exports — a regulator-requested mbox export, processed through the same skills without touching live credentials.
Reference:
The mbox / local-archive mail-source adapter is currently a documentation stub. Land the concrete CLI per
tools/mail-source/mbox/README.md. Read-only by construction — no drafts, no writes to the archive file.Operations to implement:
list_recent_threads(list, since)— parse mbox, group messages byReferences:/In-Reply-To:, filter byDate:read_thread(thread_id)— return full message history for the thread rootthread_url(thread_id)— build archive deep-link if the adopter has a public archive (PonyMail / Hyperkitty / Pipermail), elsefile://Format sniffing should accept: a single mbox file, a
Maildir/directory, or a directory of.emlfiles.Why:
security@for an audit window.Reference:
tools/mail-source/contract.mdtools/mail-source/mbox/README.mdmailbox(stdlib) handles mbox + Maildir + MH + Babyl