Table of Contents

Class SpamClassificationHistoryEntry

Namespace
MailFathom.Application.Spam.History
Assembly
MailFathom.Application.dll

What classification concluded about one message, as an operator reads it back afterwards.

public sealed record SpamClassificationHistoryEntry : IEquatable<SpamClassificationHistoryEntry>
Inheritance
SpamClassificationHistoryEntry
Implements
Inherited Members

Remarks

It is a reading of the classification record rather than a second copy of one. There is no per-run history table behind this: a classification is what is believed about a message now, so the run that reached it is recoverable from the instant and the profile the record already names, and inventing a row per run per message would duplicate the verdict in order to record it twice.

The signals appear by name and never by value. A name is a method from RFC 8601, a header field, a folder alias, or a scanner rule; the observation beside it is text a mail server wrote and can carry a sending domain, which is exactly the second copy of the mailbox a record read back over an administrative endpoint must not become.

A requested change is named and pointed at rather than described. What became of it — attempted, converged, failed, given up on — is the mutation trail's own record with its own retention, and restating any of it here would leave two answers to one question.

Constructors

SpamClassificationHistoryEntry(StoredEmailId, MailFolderAlias, SpamVerdict, SpamClassificationStage, SpamAssessment?, string?, SpamClassificationProfile, IReadOnlyList<string>, DateTimeOffset, IReadOnlyList<SpamClassificationRequestedMutation>)

What classification concluded about one message, as an operator reads it back afterwards.

Properties

Assessment

The score and the threshold it was judged against, or null when no stage produced a number.

CorpusRevision

The scanner rule corpus the deciding stage ran under, or null when it has none.

DecidedBy

Which stage reached the verdict.

EmailId

The stored occurrence the verdict is about.

EvaluatedAt

When the classification was evaluated.

FolderAlias

MailFathom's own name for the folder the occurrence is in.

Profile

The settings the verdict was reached under, or the unspecified value for a record that names none.

RequestedMutations

The changes the verdict asked the mailbox for, which is empty where it asked for none.

SignalNames

The names of the facts the verdict rests on, in the order the stages produced them.

Verdict

What was concluded.