candidateMentionTypes

abstract fun candidateMentionTypes(diff: <Error class: unknown class>): Set<String>

Every entity type name that, appearing as a mention type, could make a proposition a candidate under diff.

This is what lets a sweep ask its store for a narrow, bounded set of propositions (DriftSweepCapable.quarantineCandidates) with no policy knowledge of its own. Which names matter is a policy judgement — a removed type's declared former names count, an added type's name doesn't — so the policy is the only thing that can answer it.

The contract that makes bounded selection sound: if a proposition's mention types are all outside this set, evaluate must classify it as QuarantineDecision.Conforming or QuarantineDecision.AlreadyQuarantined. A sweep never reads such a proposition, so a policy that would have quarantined one anyway silently strands data.

Include every spelling a mention can use. A declared type name can be fully qualified where the graph writes the simple label, so a policy matching both must list both here, or a bounded sweep asks for a spelling the store has never seen.

An empty result means the diff could strand nothing, and a sweep then reads no propositions at all.

Return

The mention type names worth reading. Empty when nothing in diff can strand data.

Parameters

diff

What changed between the old and new schema.