Broken links in /notebook (HTTP 0, 116 links)

← All Specs

Summary

The link checker reported HTTP 0 for 116 /notebook/* links. HTTP 0 indicates a TCP connection failure — the server was unreachable, not that any specific notebook routes are broken.

Investigation Results (2026-04-17)

Notebooks exist in DB

All 10 listed notebook IDs exist in the notebooks table with correct rendered_html_path entries pointing to site/notebooks/*.html.

HTML files exist on disk

All 10 HTML files are present in site/notebooks/.

Routes return HTTP 200

Tested via curl http://localhost:8000/notebook/{id}:
  • SDA-2026-04-02-gap-crispr-neurodegeneration-20260402 → 200
  • SDA-2026-04-02-gap-ev-ad-biomarkers → 200
  • SDA-2026-04-02-gap-tau-propagation-20260402 → 200
  • SEA-AD-gene-expression-analysis → 200

Route handler logic (api.py:50016)

The /notebook/{notebook_id} handler:
  • Exact DB lookup by id
  • Fuzzy LIKE fallback
  • Artifact redirect fallback
  • Redirect to /notebooks if nothing found
  • No unhandled exception paths that could cause HTTP 0.

    Root Cause

    The link checker audit ran while the FastAPI server was temporarily unreachable (likely during a deployment/restart). HTTP 0 = TCP connection refused, not an application-level error. All 116 links returned HTTP 0 simultaneously, confirming a server-down event rather than individual route failures.

    Conclusion

    No code changes required. The /notebook/* routes work correctly. This was a transient infrastructure false positive from the link audit running during server downtime.

    Work Log

    • 2026-04-17: Investigated by agent (task fe44e35f). Confirmed all listed notebooks exist in DB, HTML files on disk, and routes return HTTP 200. Root cause: server was down during link audit.

    Tasks using this spec (1)
    Broken links in /notebook (HTTP 0, 116 links)
    done P70
    File: fe44e35f_broken_notebook_links_spec.md
    Modified: 2026-05-01 20:13
    Size: 1.9 KB