Mission Run Overview
Mission Run: Stale-assertion analyzer precision: cross-file move detection + generic-literal noise suppression
Fix the post-merge stale-assertion analyzer's two false-positive engines (#2031 + #2343): (1) it is intra-file only, so a behavior-preserving extraction that relocates a symbol A->B (re-exported/aliased) reads as 'removed from A' and flags every test on it — a false-positive storm (~280 spurious findings on one refactor, tripping the analyzer's own drift ceiling); (2) short/generic removed string literals generate noise. Teach it relocation-awareness (re-export shims, same-diff new-module qualname, line-shift-only) + down-rank short/generic removed literals.
src/specify_cli/post_merge/stale_assertions.py. Heuristic-by-design (never claims 'definitely stale') so this is NOISE/dev-ex, not correctness — tech-debt/P3. Witnessed: mission governed-state-surface-coherence-01KVCGQC / PR #2028 (WP05 extraction → 180 findings all false; WP02 line-shift → ~108 false). M3 of epic #1931. #2031 (cross-file move) + #2343 (generic-literal noise) fold together (same file).