Commit Graph

2 Commits

Author SHA1 Message Date
cloudinit-bot 0bcb96c442 feat(P1): Reach signup handler + templates + tests (REQ-040, G-026)
web/handlers/reach.go: GET /reach (list), GET /reach/new (form),
GET /reach/{id} (detail), POST /reach (atomic Reach+Stash create
per D-071, redirect 302). Labels "Create a Reach" (not the banned
legacy word). G-027 validation (non-empty, <=128, no path separators,
no template syntax). 3 Reach templates extend base.html.
reach_test.go: httptest for all 4 routes + atomic create + 400/409
error paths + rendered-HTML lexicon check on BOTH 200 and error bodies
(G-026). handlers/server.go: clone-per-page template pattern (avoids
content-block collision across pages). Coverage 81.2% on web/handlers.

---ci---
project: oy
phase: 1
milestone: v0.6
status: execute
---/ci---
2026-08-18 17:08:32 +00:00
cloudinit-bot 4166de5a4b feat(P1): web foundation — main.go, server.go, HTMX vendored, base+home templates (REQ-040)
Go 1.22 net/http.ServeMux + html/template + http.FileServer for static.
HTMX 2.0.10 vendored as web/static/htmx.min.js (NOT go get; G-006).
base.html layout with nav to all 5 screens. home.html overview.

---ci---
project: oy
phase: 1
milestone: v0.6
status: execute
---/ci---
2026-08-18 13:43:53 +00:00