A citation is a claim.
Nothing checks it.
Tribute checks it. It retrieves sources, writes an answer, then removes each source and regenerates, measuring which ones the answer actually depended on, not which ones got a footnote.
A live run searches, generates, and ablates. It needs search + model keys. Or read a worked example: · · · .
The method
- 01
Remove
Take the finished answer and the sources behind it. Pull one source and regenerate the answer without it.
- 02
Measure
Read how much of the answer collapses, averaged over every subset of sources (Shapley), so three sources sharing a fact each keep credit instead of all scoring zero. That collapse is the source's causal contribution.
- 03
Compare
Set what the model cited against what actually moved the answer. A source cited but inert, or uncited but load-bearing, is flagged. The gap between the two is the whole point.
Three questions, often confused
- ContributiveTribute
- per answer, remove-and-regenerate: did this source cause it.
- Parametrice.g. ProRata
- training-time influence of a corpus on the model, in aggregate.
- Corroborativee.g. RAGAS
- does the answer merely agree with a source (NLI).
“NLI proves consistency, not dependency.”
Tribute audits answers built over sources in a pipeline you control, not a live X-ray into a hosted chatbot's black box.