Enum StoredEmailEmbeddingOutcome
- Namespace
- MailFathom.Application.Emails.Embeddings.Generation
- Assembly
- MailFathom.Application.dll
How one message's turn at being embedded ended.
public enum StoredEmailEmbeddingOutcome
Fields
CallBudgetExhausted = 4One message's turn spent every provider call it is allowed and passages of it are still outstanding.
Distinct from Embedded because the two are opposite statements about the same message, and collapsing them would report a truncated message as a complete one — the kind of defect nothing later can notice, because a partly embedded message is retrievable and simply answers worse. What was committed stays durable and the rest stays outstanding, which is the condition the backfill selects on, so nothing is lost; what an operator learns from it is that one message needed more calls than a turn is allowed, which is a batch size far below what a message of that length needs.
Embedded = 0Every passage of the message now carries a vector under the active profile.
Reached with a count of zero by a message that was already current, which is the ordinary result of offering one twice.
GeneratorDisagreesWithProfile = 2The generator this process is configured with produces vectors of a different space than the active profile records.
Terminal until an operator acts, and refused rather than written: vectors of another geometry stored under this profile would make retrieval quietly worse instead of failing, which is the hardest kind of defect to attribute. It is what an edited declaration nobody activated looks like from the generation path.
NoActiveProfile = 1This instance has activated no profile, so there is no space to place a passage in.
Not a failure. An instance serving lexical search alone is a supported deployment, and this is what it looks like from here.
ProviderFailed = 3A provider call ended without vectors, and Failure says how.
Whatever was committed before the failure stays durable; the passages the call was for keep waiting.
Remarks
Three of these are conditions of the instance rather than of the message, and they are apart because they ask an operator for different things: activate a profile, reconcile a declaration with what was activated, or wait for a provider. The other two are about the mail, and they are apart for the same reason: a message that is now whole and one that was left part-way through are not the same answer.