generated from coulomb/repo-seed
2.9 KiB
2.9 KiB
Email Evidence Canon
Rule
Email events are evidence, not result satisfaction.
The scanner reports email-channel facts and uncertainty. A downstream coordination runtime decides whether those facts satisfy a coordination case.
Initial Message Classes
hard_bouncesoft_bouncedelayed_delivery_noticefinal_delivery_failureout_of_officehuman_replycomplaint_or_abuseunsubscribe_or_opt_outchallenge_responseunknown_return_messageunrelated_messageparse_failed
Initial Normalized Events
| Message class | Normalized event | Assessment |
|---|---|---|
hard_bounce |
notification.endpoint.rejected_permanent |
fail.hard_bounce |
soft_bounce |
notification.endpoint.rejected_temporary |
undef.deferred |
delayed_delivery_notice |
notification.endpoint.deferred |
undef.deferred |
final_delivery_failure |
notification.endpoint.rejected_permanent |
fail.expired_without_delivery |
out_of_office |
interaction.out_of_office_received |
undef.out_of_office |
human_reply |
interaction.reply_received |
success.reply_received |
complaint_or_abuse |
notification.channel.complaint_received |
fail.complaint_received |
unsubscribe_or_opt_out |
notification.channel.unsubscribe_received |
fail.unsubscribed |
unknown_return_message |
notification.endpoint.unknown |
undef.conflicting_evidence |
challenge_response |
interaction.unverified_actor_interaction |
undef.identity_uncertain |
parse_failed |
diagnostic.message.parse_failed |
undef.parse_failed |
| expected recipient with no evidence | diagnostic.expected_recipient.no_evidence |
undef.no_signal |
Overclaim Prevention
- No bounce found does not mean delivery success.
- Provider acceptance does not mean endpoint acceptance.
- Endpoint acceptance does not mean inbox placement.
- Out-of-office does not prove recipient awareness or action.
- Human reply does not prove legal acceptance.
- Unknown return messages remain visible.
- Parse failures are diagnostic rows, not delivery or interaction outcomes.
- Expected-recipient no-evidence rows mean no mailbox evidence was found in the inspected range, not that notification succeeded or failed.
- Scanner and proxy interactions must stay below identity-bound interaction.
Endpoint Quality Hints
Endpoint quality rows are diagnostic state, not verdicts:
| Evidence | Quality hint |
|---|---|
| Hard bounce or final failure | reachability = unreachable, last_failure_at |
| Soft bounce or delayed delivery | reachability = degraded, last_failure_at |
| Complaint | suppression_state = suppressed |
| Unsubscribe | suppression_state = opted_out |
| Human reply | last_success_at |
| Out-of-office | reachability = uncertain, last_auto_reply_at |
These hints can guide future suppression and review workflows, but they do not prove human awareness, authority, payload access, or coordination success.