Interface: CitationCheckDto
@kortexya/reasoninglayer / CitationCheckDto
Interface: CitationCheckDto
Section titled “Interface: CitationCheckDto”Defined in: src/types/conversation.ts:411
One [ref:…] citation, checked against the rows the query returned.
Remarks
Section titled “Remarks”The backend strips the [ref:…] markers from the answer before it is
displayed or stored, so this is the only place the comparison behind a
verdict can be read: which marker, which binding, what it asserted, what the
rows actually held, and what — if anything — reconciled the two.
verdict is one of cited (the marker names a binding but asserts no
value), confirmed, refuted, unverifiable (the citation could not be
checked — most often two fields merged into one marker), or unresolved (no
row binds the variable). Only refuted may reach a contradicted claim.
repair names what the deterministic ladder found: exact, numeric
("2,500" against 2500), token_coverage ("Cairo, Egypt" into two fields
the row holds, one of which is the cited one), case_or_whitespace, or
model_re_aimed. mis_pointed is the odd one out — it is NOT an acceptance.
It says the row holds the asserted value under a feature the marker did not
name, which is neither agreement nor disagreement, and it always accompanies
verdict: "unverifiable".
Read observedValues through scope. Under result_set a list like
["ACT", "ACM"] is one value from each of two records, not two candidate
values of one — and agreement with ANY of them counted.
Properties
Section titled “Properties”assertedValue?
Section titled “assertedValue?”
optionalassertedValue?:string|null
Defined in: src/types/conversation.ts:417
The value the marker asserts that variable holds.
marker
Section titled “marker”marker:
string
Defined in: src/types/conversation.ts:413
The marker body as the model wrote it, e.g. head_quarters="Cairo".
observedTotal
Section titled “observedTotal”observedTotal:
number
Defined in: src/types/conversation.ts:428
How many surfaces were compared against, before observedValues was capped.
observedValues?
Section titled “observedValues?”
optionalobservedValues?:string[]
Defined in: src/types/conversation.ts:426
The surfaces ACTUALLY compared against — one record’s under record or
inherited_record, every row’s under result_set.
repair?
Section titled “repair?”
optionalrepair?:string|null
Defined in: src/types/conversation.ts:421
What reconciled the assertion with the row, when something did.
repairVariables?
Section titled “repairVariables?”
optionalrepairVariables?:string[]
Defined in: src/types/conversation.ts:423
The variables a mis_pointed, token_coverage or model_re_aimed repair resolved to.
scope?
Section titled “scope?”
optionalscope?:string
Defined in: src/types/conversation.ts:436
Which record the check ran against: record (the sentence names it),
inherited_record (the previous sentence named it), or result_set (no
record could be determined, so every row was compared against).
Absent on checks stored before backend issue #206.
scopeLabel?
Section titled “scopeLabel?”
optionalscopeLabel?:string
Defined in: src/types/conversation.ts:438
The identifying surface that scoped the check — absent under result_set.
variable?
Section titled “variable?”
optionalvariable?:string|null
Defined in: src/types/conversation.ts:415
The query variable the marker resolved to.
verdict
Section titled “verdict”verdict:
string
Defined in: src/types/conversation.ts:419
cited | confirmed | refuted | unverifiable | unresolved.