Run mailvault doctor before a new provider or account.
Confirm:
- TLS endpoint and port;
- authentication success;
- provider profile;
- advertised capabilities;
- selectable mailbox count;
- intended archive roots.
Use a dedicated destination per account. Do not mix unrelated accounts in a directory unless the integration explicitly requires a shared archive.
For complete procurement history, use scope=all. Attachment-only scopes can omit commercial decisions contained only in message bodies.
MailVault records metadata and raw completion independently. After interruption, run the same command against the same destination. Do not delete the database, state, or object directories.
The throttling layer applies:
- bounded metadata batches;
- one raw acquisition stream;
- randomized per-message delay;
- periodic pauses;
- exponential retry;
- rolling 24-hour soft and hard caps.
Provider limits and account policies remain authoritative. Reduce caps and increase delays when a provider is sensitive to sustained IMAP activity.
Full verification:
mailvault verify --destination /archive/pathSample verification:
mailvault verify --destination /archive/path --sample 0.1Use full verification before migration, backup handoff or RMS ingestion.
Back up the entire archive root. The database without object storage is incomplete, and object storage without the database loses provenance.
Operational logs are structured JSONL. They intentionally exclude message bodies and secrets. Protect logs because filenames, addresses and provider metadata can still be sensitive.
Rebuild manifests:
mailvault export --destination /archive/pathBuild or resume navigation views:
mailvault views --destination /archive/pathThe progress display reports exact source rows, pointer writes, percentage and ETA. A safe interruption preserves the durable cursor and staging tree; rerun the same command to continue. To intentionally discard an incomplete build:
mailvault views --destination /archive/path --restartThe previous completed views/ snapshot is retained until the replacement has been fully written and transactionally published.
Operational state:
state/views-rebuild-v1.json durable checkpoint
state/views-rebuild-staging-v3/ incomplete replacement tree
state/views-previous/ temporary publication rollback tree
views/_mailvault_views.json completed snapshot marker
Do not remove the checkpoint or staging tree when the goal is to resume. A source change invalidates stale state automatically. See Resumable navigation views for lifecycle and recovery details.