Table of Contents

Enum ChatGenerationStop

Namespace
MailFathom.Application.Chat
Assembly
MailFathom.Application.dll

Names why the model stopped generating, on a call that produced text.

public enum ChatGenerationStop

Fields

Completed = 0

The model finished what it had to say.

ContentFiltered = 2

The provider's content filter stopped the generation.

Distinct from a request the provider refused outright: that one produces no call result at all and is a failure, while this one is an answer the provider began and then withheld the rest of.

OutputLimitReached = 1

The model was cut off by the output budget this deployment configured.

The answer is a prefix of the one the model was producing, so it ends mid-sentence rather than short.

Unreported = 3

The provider named no reason.

Not an error. A provider is free to answer without saying why it stopped, and treating silence as completion would state something the provider did not.

Remarks

This sits on the answer rather than among the failures deliberately. A truncated generation and a generation the provider's safety system cut short are both answers: the text before the stop is real, the call has been paid for, and discarding it would spend the money for nothing. Reporting them here also makes the guarantee the failures cannot give — nothing repeats a call that returned an answer, so neither can ever be retried as though it were a transport fault.

What a caller does with each differs, which is why they are distinguished at all. A completed answer is presented as it stands; a truncated one is presented with the truncation stated, or asked for again with a longer output budget; a withheld one is presented as a refusal rather than as an answer, because the text that survives it is a fragment of reasoning the provider stopped mid-way.