Table of Contents

Enum StoredEmailEmbeddingBackfillOutcome

Namespace
MailFathom.Application.Emails.Embeddings.Backfill
Assembly
MailFathom.Application.dll

Why one run of the embedding backfill ended.

public enum StoredEmailEmbeddingBackfillOutcome

Fields

BatchBudgetSpent = 0

The run spent its batch budget with messages still awaiting embedding, and the position it committed is where the next run resumes.

GeneratorDisagreesWithProfile = 3

The configured model is not the one the active profile records, so the run wrote nothing rather than mixing two geometries into one space.

NoActiveProfile = 2

The instance has activated no profile, so there is no vector space to embed into and nothing was spent.

ProviderFailed = 4

A provider call ended without vectors, which ends the run rather than the next message's turn.

SpendCeilingReached = 5

The period's spend ceiling is reached, so the run ended and the next one waits for the period to roll over.

The one ending that names its own resumption. Every other reason to stop is either settled by an operator or retried on an interval chosen by how likely work is to be there; this one has an exact instant after which sweeping is worth doing again, and SpendPeriodEndsAt carries it so the worker waits for that rather than polling a ceiling it already knows binds.

SweepCompleted = 1

The walk reached the end of the stored mail, so the sweep ended and the next one starts at the beginning.

Remarks

The distinction a caller acts on is whether the run stopped because it ran out of budget or because there was nothing left to do: the first is paced by a short interval and the second by a long one, and collapsing the two would either idle an instance that has a mailbox to backfill or sweep an instance that has nothing to find.