web_frontend: homepage design-task panel — read from bd epics, not GitHub Contents API nf-s8op ← Beads

closed priority 2 task unassigned

The homepage's "Design-doc task status" panel (tools/web_frontend/server.py's fetch_design_task_panels/render_design_task_panels) currently walks design_docs/*.md over the GitHub Contents API to find each doc's title, **Beads:** epic pointer, and task table — the whole reason nf-ijyi's fix (#1200) had to batch that into one GraphQL call. bd epics already carry everything the panel needs locally (title, tasks, status — see fetch_bd_epics/_epics_by_id, already used by /beads), no GitHub fetch required.

Aedan, in chat, 2026-08-20:

> can you just read the designdocs from the beads epic for them?

> we could change from DD view to a view of epics, and just render a link > to the code repo for designdocs (just a link to > https://github.com/cfsh/ninefold/tree/main/design_docs)

> and we can change the design as a followup

Proposed shape: swap the homepage panel's fetch from fetch_design_task_panels to something like fetch_bd_epics (filtered to non-closed epics), render with render_bd_epics/_bd_epic_panel (already built for /beads), and add one static link to the design_docs GitHub folder near the section heading instead of a per-panel doc link. Once done, fetch_design_task_panels, _recording_gh, Gh.contents_files, and the Contents-API design-doc-content path become dead code on the homepage — a second, likely follow-up cleanup pass.

Dependencies

None.

Comments

jcantsp-bot · 2026-08-21T07:02:11Z

Superseded by nf-ofmi (https://nfold.dev/issue/nf-ofmi) — Aedan's newer ask covers this swap and extends it: per-epic design-doc links via a **Design doc:** pointer in the epic's description (instead of this issue's one static design_docs folder link), rendered on /, /beads panels, and /board/<epic-id>. The full prescriptive card is a comment on nf-ofmi; the chat quotes recorded here are cited there. Closing as duplicate.

Add a comment