Class MailRuleExecution
- Namespace
- MailFathom.Application.Rules.History
- Assembly
- MailFathom.Application.dll
What one rule concluded about one email on one pass, and what that conclusion asked the mailbox for.
public sealed record MailRuleExecution : IEquatable<MailRuleExecution>
- Inheritance
-
MailRuleExecution
- Implements
- Inherited Members
Remarks
The unit of the history is the pair of a rule and a message, because those are the two ways an operator arrives at it: "why is this message here" and "what is this rule doing". A rule the pass never reached — one below a rule that ended the pass — leaves no execution at all, which is what keeps "did not match" and "was never asked" apart.
The facts are recorded by name and never by value. A resolved fact is a sender address, a subject,
or a span of extracted text, so recording what it evaluated to is exactly the second copy of the mailbox this record
exists not to be. The names are sufficient because the revision is recorded beside them: the expression is
retrievable from the configuration revision the pass was bound to, so senderDomain, hasAttachment, and
a true result reconstruct the reasoning without reconstructing the mail.
Nothing here is amended once written. An execution states a reading that has already happened, so the record only ever grows and shrinks — by the retention window it is held for, and by the erasure of the message it names.
Properties
- AccountId
Gets the account whose mail was evaluated.
- Actions
Gets the changes the rule declared and what became of each, in the order the rule declares them.
- ConditionFailure
Gets why the condition produced no answer, which is present exactly when the outcome is Failed.
- Duration
Gets how long the condition took to answer, including resolving the facts it read.
- EvaluatedAt
Gets the instant the email was evaluated at, which every age fact of the pass was measured against.
- Id
Gets what addresses this execution.
- Outcome
Gets what the condition concluded.
- ReadFacts
Gets the facts the condition read, by name, in the order the fact surface declares them.
- Revision
Gets the rule set revision the pass was bound to, which is what the condition is retrievable from.
- RuleName
Gets the name of the rule, which is MailFathom's own configured name for it.
- StoredEmailId
Gets the local identity of the email the rule was evaluated against.
- Trigger
Gets which of the pass's two walks reached the email.