{ "set": "mail-classify", "issue": "erp#39", "generated_at": "2026-07-18", "task": "T01 mailbox triage & routing", "classes": [ "supplier-invoice", "bank-notice", "government-admin", "client", "other" ], "source": { "kind": "zoho-mail", "account": "gabrielradureau@arcodange.fr", "account_id": "7685847000000002002", "pull": "read-only Zoho Mail OAuth API via arcodange-email-ingest; all 14 non-empty folders paged in full", "folders_scanned": { "/Inbox": 86, "/Inbox/abonnements": 4, "/Inbox/analytics": 10, "/Inbox/bonjour": 463, "/Inbox/books": 35, "/Inbox/bureaux": 21, "/Inbox/contact": 116, "/Inbox/helloworld": 102, "/Inbox/jobs": 17, "/Newsletter": 431, "/Notification": 127, "/clients/KissMetrics": 412 } }, "provenance": { "method": "per-message source id is the Zoho `message_id` (+ `folder`) recorded on each JSONL line — the anchor back to the mailbox. Mail messages are not downloaded as files, so there is no per-message file hash; instead the label file itself is content-hashed for integrity.", "labels_file": "labels.jsonl", "labels_sha256": "53ea2fcb276efb5c13d91d0f2ed0e49c7ccaad5e473463d763b9f75eec19c500", "count": 1824 }, "labeling": { "type": "machine-seeded weak supervision (sender-domain + subject heuristics), human-correctable in place", "correction": "edit `label`, set `corrected_by`; keep `machine_labeled:true`", "bias": "precision-favoring on the actionable classes; human pass raises recall" }, "distribution": { "other": 1742, "government-admin": 34, "client": 30, "bank-notice": 10, "supplier-invoice": 8 } }