Skip to content

Interface: CitationCheckDto

@kortexya/reasoninglayer


@kortexya/reasoninglayer / CitationCheckDto

Defined in: src/types/conversation.ts:411

One [ref:…] citation, checked against the rows the query returned.

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.

optional assertedValue?: string | null

Defined in: src/types/conversation.ts:417

The value the marker asserts that variable holds.


marker: string

Defined in: src/types/conversation.ts:413

The marker body as the model wrote it, e.g. head_quarters="Cairo".


observedTotal: number

Defined in: src/types/conversation.ts:428

How many surfaces were compared against, before observedValues was capped.


optional observedValues?: 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.


optional repair?: string | null

Defined in: src/types/conversation.ts:421

What reconciled the assertion with the row, when something did.


optional repairVariables?: string[]

Defined in: src/types/conversation.ts:423

The variables a mis_pointed, token_coverage or model_re_aimed repair resolved to.


optional scope?: 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.


optional scopeLabel?: string

Defined in: src/types/conversation.ts:438

The identifying surface that scoped the check — absent under result_set.


optional variable?: string | null

Defined in: src/types/conversation.ts:415

The query variable the marker resolved to.


verdict: string

Defined in: src/types/conversation.ts:419

cited | confirmed | refuted | unverifiable | unresolved.