What Cite.judge/4 returns:
findings: the judged findings, in the policy's concern order.screen: every round-1 score, for diagnosis.errors: one per failed request.usage: tokens totalled across both rounds, ornilwhen the provider reported none.models: every versioned model id that answered, in order of first appearance.
Read it, don't build it.
Summary
Types
@type t() :: %Cite.Report{ errors: [Cite.Error.t()], findings: [Cite.Finding.t()], models: [String.t()], screen: %{required(String.t()) => %{required(atom()) => number()}}, usage: usage() | nil }
@type usage() :: %{input_tokens: non_neg_integer(), output_tokens: non_neg_integer()}