Claim
data class Claim(val id: String, val phrases: List<List<String>>, val says: String, val knowledge: String, val source: Knowledge, val needs: String? = null, val affirm: Boolean = true)(source)
A statement Drift can contradict. Every list of phrases needs one hit in the same sentence; an affirm claim fires on a sentence without a negation. needs is a detect tree over the failing facts (written as JSON, side b); a missing fact leaves it unknown and the claim silent.