Table of Contents

Constructor AskMailResult

Namespace
MailFathom.Application.Retrieval.AskMail
Assembly
MailFathom.Application.dll

AskMailResult(string, IReadOnlyList<MailAnswerCitation>, bool, bool, bool)

What one question produced: the answer, the mail it was drawn from, and what had to be cut to publish it.

public AskMailResult(string AnswerText, IReadOnlyList<MailAnswerCitation> Citations, bool AnswerWasTruncated, bool CitationsWereTruncated, bool RetrievalWasTruncated)

Parameters

AnswerText string

The answer, which is never empty.

Citations IReadOnlyList<MailAnswerCitation>

The emails the run drew on, one per email, in the order it first reached each.

AnswerWasTruncated bool

Whether the answer is shorter than the model wrote it.

CitationsWereTruncated bool

Whether the run drew on more emails than are listed.

RetrievalWasTruncated bool

Whether the run reached its ceiling on retrieved mail while there was more to read.

Remarks

The citations are what the run retrieved rather than what the model demonstrably used. Nothing outside the model knows which of them it drew on, so publishing the narrower set would state something this system cannot observe.

The three flags exist so that a cut is never silent, and they are cuts of three different things. A shortened answer read as a complete one is the failure this shape prevents; a citation list that lost an entry matters as much, since a claim traced to a message the response no longer names cannot be checked; and a run that stopped being given mail answered a narrower reading of the mailbox than the question asked for.