Register Dashboard — Build & Deploy¶
A static HTML view of docs/open-items.md, generated by
scripts/build-register.js.
Build locally¶
Reads docs/open-items.md and docs/closed-items.md, writes
site/register/index.html. No dependencies. Open the file directly in a
browser — it needs no server.
⚠️ Not site/index.html. MkDocs owns that path for the docs home page, and
this script runs after mkdocs build in CI, so writing to the root would
silently replace the home page with this dashboard.
site/ is gitignored. The output is derived, and committing it would let the
dashboard drift from the register it is supposed to reflect.
Where it is published¶
https://autowarz.blused.org/register/
Cloudflare Pages¶
The docs site and the dashboard share one build. Build command:
node scripts/build-data.js && pip install -r docs/requirements.txt && mkdocs build && node scripts/build-register.js
| Setting | Value |
|---|---|
| Framework preset | None |
| Build output directory | site |
PYTHON_VERSION |
3.12 |
Order matters. mkdocs build empties site/ before writing, so the
dashboard must be generated after it, and the building data before it.
⚠️ Access control is required¶
auto-warz is a private repository. Cloudflare Pages serves publicly by
default, and this dashboard exposes the entire open design surface: unreleased
mechanics, endgame paths, mode concepts, and every unmade decision.
Put Cloudflare Access in front of the project before sharing the URL. Zero Trust → Access → Applications → Add a self-hosted application, pointed at the Pages domain, with a policy limited to your own email. Free at this scale.
An unprotected Pages deployment is a public URL whether or not it is linked anywhere.
What the dashboard shows¶
- Open — every row in the register
- Actionable —
taskanddefectonly. The register's own header rule warns that logging every unmade decision manufactures a backlog that can never empty;undecidedrows are ordinary unfinished design, not debt. The actionable figure is the real backlog. - Do first — kept deliberately short. If more than about six items are
DO FIRST, none of them are. - Blocking the most work — which items have the most dependants. Click to filter to that id.
Column contract¶
The parser expects nine pipe-delimited columns in open-items.md:
and ten in closed-items.md (the same plus Resolved). It warns on any row
with a different count rather than failing, so a malformed row is reported
instead of silently dropped.
Blocked by is split on ; — use a semicolon to list more than one blocker.