Broken links in /clinical-trials (HTTP 404, 2961 links)
Quest: Unassigned
Priority: P100
Status: completed
Goal
Investigate and resolve reported broken links on the /clinical-trials page (HTTP 404, 2961 links). The audit captured 10 "broken links" but all were listed as "/clinical-trials" — the same false-positive pattern seen in prior audit bugs where the tool captured parent page URLs instead of actual broken link targets.
Context
This task was reopened after prior resolution (spec 683fa047). Investigation confirms:
- The /clinical-trials page loads correctly (HTTP 200)
- link_checker.py reports 0 broken links across 513 HTML files
- External ClinicalTrials.gov links are accessible
- The page contains 544 clinical trials with working hypothesis links
Acceptance Criteria
☑ /clinical-trials page loads (HTTP 200)
☑ No broken internal links (link checker: 0 broken)
☑ External ClinicalTrials.gov links accessible
☑ Investigation documented
Approach
Verify /clinical-trials page returns HTTP 200
Run link_checker.py to find broken internal links
Check external ClinicalTrials.gov links
Verify hypothesis links on the page work
Document findingsWork Log
2026-04-13 PT — Investigation
- /clinical-trials returns HTTP 200
- link_checker.py reports 0 broken links across 513 HTML files (link_check_report.json:
{"broken_links": [], "total": 0})
- All internal navigation links (/vision, /showcase, /status, /docs, etc.) return HTTP 200
- Hypothesis links on the page (e.g., /hypothesis/h-856feb98) return HTTP 200
- External ClinicalTrials.gov links (e.g., NCT04220190) return HTTP 200
- Conclusion: False positive — the audit tool bug captured parent page URL "/clinical-trials" instead of actual broken link targets. This is the same root cause as spec 683fa047.
- Root cause: Audit tool captures the parent page URL (repeated 10x) instead of the actual broken link URLs, indicating a data quality issue in the link checking subsystem.