From cc1f421d27f7555352251027a66062f6cdde7130 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 23 Aug 2026 13:06:58 -0700 Subject: [PATCH] Homepage: record the completed build in the KB - Homepage.md: status is now 'built, pending deploy' (all assets + checker + deploy are in the repo, 112 tests green). To go live: add CADDY_ADMIN_HASH to the target .env, then deploy.sh. - Homepage Design Grilling.md: the build is complete (all 6 slices, full TDD); the only remaining step is the operator adding the admin hash + deploying. - pi log.md: build-complete entry. --- docs/Infrastructure/Homepage Design Grilling.md | 13 ++++++++++++- docs/Infrastructure/Homepage.md | 6 +++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/Infrastructure/Homepage Design Grilling.md b/docs/Infrastructure/Homepage Design Grilling.md index fc4fe59..f22c78f 100644 --- a/docs/Infrastructure/Homepage Design Grilling.md +++ b/docs/Infrastructure/Homepage Design Grilling.md @@ -69,7 +69,10 @@ These are the deltas from the initial recommendations. Everything else was accep - **Q41** — **no client-side auto-refresh.** - **Q43** — the footer shows the **last master deployment datetime** (not last-check). -## Build order (unblocked) +## Build status — complete (2026-08-23) + +The build is done, slice by slice, full TDD (each slice red → green, committed +and pushed). 112 tests pass. The render logic is verified with a Node DOM shim. ```mermaid flowchart LR @@ -82,4 +85,12 @@ flowchart LR G --> H[verify in browser] ``` +Slices: 1 the checker core (tcp/wip/atomic/generated_at), 2 the http probe, 3 +the real `services.json` + schema, 4 the pages + theme + toggle, 5 the Caddyfile +auth split, 6 the git-driven deploy (both hashes, `deployed.js`, the timer). + +**Remaining to go live:** the operator adds `CADDY_ADMIN_HASH` (the +operator-only password, `caddy hash-password`) to the target `.env`, then runs +`./scripts/deploy.sh dankclaw`. Until then the admin hash stays a placeholder. + The per-service docs pages (Q22/Q29/Q30/Q31) are a separate workstream, built as each service goes active. diff --git a/docs/Infrastructure/Homepage.md b/docs/Infrastructure/Homepage.md index f50b593..14899a5 100644 --- a/docs/Infrastructure/Homepage.md +++ b/docs/Infrastructure/Homepage.md @@ -4,11 +4,11 @@ A password-protected web site on Dankclaw lists the services that are up, with a **Served by:** Caddy, `file_server` + `basicauth` — **Docs:** this page -## Status — 2026-08-22: work in progress +## Status — 2026-08-23: built, pending deploy -The homepage is not finished. The static assets exist in `shared/homepage/`. They are not yet copied to `/srv/homepage/` on the target. Caddy serves the `basicauth` challenge (HTTP 401) and the `:80` redirect (HTTP 302). The page content is absent. +The homepage is built and tested (112 tests pass). The assets are in `shared/homepage/` (the pages, the theme, the toggle, `services.json`), the checker is in `scripts/` (`homepage-status.py` + the timer + service), and `deploy.sh` ships it. The render logic is verified with a Node DOM shim. -Do not treat the missing page as an outage. The Caddy site block and the redirect are live. Only the content and the deploy step remain. +It is not yet deployed to `/srv/homepage/` on the target. To go live, the operator adds `CADDY_ADMIN_HASH` (the operator-only password, `caddy hash-password`) to the target `.env`, then runs `./scripts/deploy.sh dankclaw`. Until then the admin hash stays a placeholder and the `/admin/` page auth is not live. ## Design decision — 2026-08-22