PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 9m38s
PR Checks / Backend Smoke (pull_request) Successful in 5s
PR Checks / Build Backend (no push) (pull_request) Successful in 10s
PR Checks / Build Frontend (no push) (pull_request) Successful in 47s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 9s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 1m9s
The compare view refetches /api/compare on the client after SSR; on any failure the catch nulled comparisonData, destroying the working SSR-provided chart. A transient error (or staging's broken external /api proxy) should not blank a comparison the user is already viewing — keep the existing data instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>