1f364dfa4a
Users saw fast-rule evidence, partial streams, DeepSeek completion, and fallback states as one blended AI status. The city evidence panel now names the current stage directly so a loading stream reads as fast judgment complete, a successful response reads as AI bulletin read complete, and incomplete responses explain that rule evidence is being used. Constraint: Keep the existing fast evidence path visible while DeepSeek streams in. Rejected: Label fallback as an AI failure | that incorrectly implies the card is broken even when rule evidence is valid. Confidence: high Scope-risk: narrow Reversibility: clean Tested: npm run build Not-tested: Manual browser timing of partial stream transitions.