generated from coulomb/repo-seed
feat: add expected recipient reporting
This commit is contained in:
@@ -13,12 +13,18 @@ overclaiming delivery, awareness, or coordination success.
|
||||
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/
|
||||
PYTHONPATH=src python3 -m email_connect.cli scan-mailbox --config config/mailbox.example.yml --expected-recipients tests/fixtures/expected_recipients.txt --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/`.
|
||||
|
||||
Expected recipients are optional. When provided as a text file or CSV, reports
|
||||
include a `known_recipient` column, place known recipients first, and add
|
||||
`undef.no_signal` diagnostics for expected recipients with no mailbox evidence.
|
||||
See [Mailbox Report Tutorial](docs/mailbox-report-tutorial.md).
|
||||
|
||||
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
|
||||
@@ -35,6 +41,8 @@ marking messages seen are intentionally unsupported in this MVP.
|
||||
- SQLite state store with scan cursor, message/evidence deduplication, and
|
||||
endpoint quality hints.
|
||||
- CSV report generation, including `--report-only-new`.
|
||||
- Optional expected-recipient text/CSV input, `known_recipient` report
|
||||
filtering, no-evidence diagnostics, and datetime range filtering.
|
||||
- Golden fixture tests for hard bounce, soft bounce, delayed delivery, final
|
||||
failure, complaint, unsubscribe, challenge-response, unknown return,
|
||||
parse-failure, out-of-office, and human reply signals.
|
||||
|
||||
Reference in New Issue
Block a user