Broken links in /papers (HTTP 404, 1608 links)
Task ID: f6ca2181-e9cc-4275-8944-329a6183b84e
Goal
Fix broken /papers links reported by the link checker.
Acceptance Criteria
☑ /papers route returns 200
☑ Link checker no longer reports false positives due to wrong port
Approach
Investigated: /papers route works fine on port 8000 (FastAPI)
Original root cause: link_checker.py used http://localhost (port 80), but nginx port 80 returned 404 for all routes
Original fix (commit a005a13af): Updated link_checker.py BASE_URL to http://localhost:8000
Subsequent refactoring: link_checker.py moved to scripts/ and reimplemented using DYNAMIC_ROUTES approach — dynamic routes (including 'papers') are skipped entirely, eliminating false positives without needing BASE_URLWork Log
2026-04-02 13:25 PT — Slot 18
- Investigated /papers — route returns 200 on port 8000
- Found root cause: link_checker used port 80, nginx returns 404 on port 80 for all routes
- Fixed BASE_URL in link_checker.py to http://localhost:8000
- Result: Done — false positive resolved
2026-04-13 — Re-verification (task reopened)
- Verified /papers returns HTTP 200 on current main (curl to localhost:8000/papers → 200)
- link_checker.py (scripts/link_checker.py) now uses DYNAMIC_ROUTES — 'papers' is in the list, so no false positive HTTP checks
- Ran
python3 scripts/link_checker.py → 0 broken links
- Task is complete — acceptance criteria met