Aedan's ask, verbatim: "make https://nfold.dev/new open a page to just
file a new issue in beads, and link it from the homepage. nfold.dev is
the web dashboard" (tools/web_frontend/server.py).
The filing form already exists (_filing_form_html(),
tools/web_frontend/server.py:1266) and already POSTs to /issue/new
(_handle_issue_new, :1515) — but it's only rendered embedded at the
bottom of the /beads page (render_beads_page, :1003), not as its own
page. There is no GET /new (or GET /issue/new) route at all — do_GET
(:1416) only handles /, /beads, /issue/<id>, /board/<id>. The
homepage (render_index, :931) links only to /beads
(href="/beads", :951) — reaching the filing form today means Dashboard
→ Beads → scroll to the bottom.
1. Add a GET /new route to do_GET that renders a standalone page:
just _filing_form_html() inside _page_shell(), same POST target
(/issue/new) it already has — no new form-handling logic needed, this
is purely "give the existing form its own page and URL."
2. Add a nav link to /new from the homepage (render_index, next to or
near the existing Beads → link at :951) — e.g. New issue →.
3. Leave /beads's embedded copy of the form as-is unless it's obviously
better to redirect that page's form section to link to /new instead of
duplicating it — implementer's call, not prescribed here.
- Not fixing nf-jfeh (the existing POST /issue/new handler's
Bd.create(body=...) bug) — different task, already filed and staffed
separately (bd-papercuts session). This task is purely about the
missing page/route/link; if nf-jfeh hasn't landed yet when this ships,
the new /new page will surface the same pre-existing submit bug the
embedded form already has — not a regression this task introduces.
GET /new returns 200 with the filing form. Homepage HTML contains a link
to /new. Existing /beads page and POST /issue/new behavior unchanged.
None.
Landed in #1201 (merged).
CLAIM