Table of Contents

Struct MachineAuthorshipProfileRevision

Namespace
MailFathom.Domain.Emails.Authorship
Assembly
MailFathom.Domain.dll

Names the weighting one stored authorship likelihood was reached under.

public readonly record struct MachineAuthorshipProfileRevision : IEquatable<MachineAuthorshipProfileRevision>
Implements
Inherited Members

Remarks

A likelihood outlives the profile that produced it. Weights are tuned, a signal is added, a threshold moves — and every message already assessed keeps the number it was assessed with, because rewriting stored numbers would change what a reader was shown without anybody having reread the mail. The revision is what makes that legible rather than silent: two likelihoods carrying different revisions were reached under different weightings, and one carrying None was assessed by nothing at all.

It is a digest of the profile's own weights and thresholds rather than a version number somebody remembers to raise, for the reason SenderTrustPolicyRevision is a digest of a list: a number maintained by hand is a number that is wrong the first time a weight moves without it, and the whole value of this column is that it cannot be.

Fields

Length

The number of characters a revision is written as, which every column holding one is sized for.

Properties

NamesAProfile

Gets whether this revision names a profile, which is false exactly for None.

None

Gets the revision that names no profile, which is what a message nothing assessed carries.

Value

Gets the revision as the text a column stores, or the empty string for None.

Methods

FromStoredValue(string?)

Reads back a revision a column stored.

Of(IReadOnlyDictionary<MachineAuthorshipSignals, double>, IReadOnlyList<double>)

Derives the revision of a profile from the weighted signals and thresholds it judges by.

ToString()

Returns the fully qualified type name of this instance.