Semantic state surfaces a rule must account for before claiming an exact
result. Declarations are checked centrally so new rules cannot silently
depend on an untracked part of the transition state.
Analyze one migration using a validated cache and return immutable
findings, confidence, and evidence. The helper owns the mutable state
so callers cannot accidentally bypass cache validation or reuse state
across unrelated analyses.