/analysis/SDA-2026-04-03-gap-debate-20260403-222543-20260402 (5x)/analysis/SDA-2026-04-03-gap-debate-20260403-222617-8eb5bdbc (3x)/analysis/SDA-2026-04-03-gap-debate-20260403-222543-20260402 → 301 redirect to /analyses/... → 200/analysis/SDA-2026-04-03-gap-debate-20260403-222617-8eb5bdbc → 301 redirect to /analyses/... → 200SDA-2026-04-03-gap-debate-20260403-222543-20260402.html (25914 bytes)SDA-2026-04-03-gap-debate-20260403-222617-8eb5bdbc.html (25906 bytes)/analysis/{id} route redirects to /analyses/{id} (301 redirect)analysis_detail_legacy_redirect in api.py (line 38146)_is_valid_analysis_id validation passes for both IDslink_checker.py --skip-llm/analysis/ route properly redirects to /analyses/ and the target pages return HTTP 200. The fix was already in place in the worktree - no additional code changes were required.Status: VERIFIED WORKING