Class MailAnsweringAuditedEmail
- Namespace
- MailFathom.Domain.Answering.Audit
- Assembly
- MailFathom.Domain.dll
One email an answering run read, and whether the answer went on to name it.
public sealed record MailAnsweringAuditedEmail : IEquatable<MailAnsweringAuditedEmail>
- Inheritance
-
MailAnsweringAuditedEmail
- Implements
- Inherited Members
Remarks
One shape rather than two lists, so the cited set cannot name a message the run never retrieved: the subset relation is structural instead of an invariant somebody has to keep. What separates the two is that retrieval is what the run read and a citation is what the response published — a response bounded to fewer citations than the run retrieved emails is exactly the case where the difference is the answer.
The identity is the whole of what is kept. No extract, no subject, and no address: a record that stored the retrieved passages would be a second copy of the mailbox with its own retention, access, and erasure obligations, for the sake of a debugging convenience. What the identity buys instead is that the message can be fetched and read whole, by somebody entitled to it, through the reads that already serve it.
The position is kept because the order a run reached mail in is part of what happened, and it survives the entry losing an email to that email's own deletion — a gap in the positions then says that something was read and is gone, rather than leaving a shorter list that reads as a shorter run.
Constructors
- MailAnsweringAuditedEmail(StoredEmailId, int, bool)
One email an answering run read, and whether the answer went on to name it.
Properties
- Position
Where in the run's retrieval this email was first reached, counted from zero.
- StoredEmailId
The stable local identity, which is the same one every other read names an email by.
- WasCited
Whether the published answer named this email as one of its sources.