Class MailAnsweringAuditEntry
- Namespace
- MailFathom.Domain.Answering.Audit
- Assembly
- MailFathom.Domain.dll
States what one answering run read from one account's mailbox, in the form that outlives the mail it read.
public sealed record MailAnsweringAuditEntry : IEquatable<MailAnsweringAuditEntry>
- Inheritance
-
MailAnsweringAuditEntry
- Implements
- Inherited Members
Remarks
The artifact an answer is explained by afterwards. An answer produced by a model is not reproducible — asked twice, the same question over the same mailbox can produce two different answers — so the only way to explain one later is to have recorded what produced it. What a run cost, how long it took, and how it degraded are bounded facts that belong on the span beside the request they happened in; which messages it read is the part that cannot, because a tag per message would open a time series per person and because a span store is not MailFathom's to carry an obligation in.
It holds no mail. The identifiers, this deployment's own configured names, two counts, and a bounded ending are the whole of it: a record that stored the retrieved passages would create a second copy of the mailbox with its own retention, access, export, and erasure obligations. It is still derived personal data — it says what a person's mail was read for and when — which is why it is written only for an account whose operator turned the record on.
One entry per account in the run's scope rather than one per run, because enabling the record, the window it is kept for, and erasing it are decisions one account's operator makes. An entry therefore names only the mail of the account it belongs to, and a question asked across two accounts is two entries sharing a RunId.
Unlike the mutation trail beside it, the emails an entry names are reached by their own deletion path. A mutation entry survives the mail it describes because the act it records may have been that deletion; nothing of the sort applies here, so an erased message is erased from the runs that read it and the entry is left saying that a run happened and read something now gone.
Properties
- AccountId
Gets the account whose mailbox the run was allowed to read.
- ChatEndpointAlias
Gets the alias of the chat endpoint the run was conducted through.
- CompletedAt
Gets when the run reached the ending this entry records.
- Degradation
Gets the ways the run read less of the mailbox than an undegraded run of the same question would.
- Emails
Gets the emails of this account the run retrieved, in the order it first reached each, and which of them the answer named.
- Id
Gets what addresses this entry.
- InstructionsVersion
Gets the version of the instruction the run was conducted under.
- Outcome
Gets how the run ended.
- RunId
Gets the run this entry records, which the entries of the run's other accounts share.
- StartedAt
Gets when the run began.