v0.316.1: the asset tag actually reaches the dashboard pages
gates / gates (push) Failing after 48s

v0.316.0 shipped it dead. Every shell asked for `?v={{.AssetTag}}`, TestAssetTag_EveryShellUsesIt
passed, and the first live load through the public address rendered `/static/style.css?v=` —
EMPTY. addShellAssetData was called only by executeTemplateLang (the sign-in, claim, recovery,
guest-share and catch-all pages). The dashboard path had never needed it, because layout.html used
to ask for {{.Version}}, which baseData supplies; moving it to {{.AssetTag}} left nothing to
supply the value.

An empty buster is a CONSTANT. It would never have changed again — worse than the per-version one
it replaced, and invisible to a test that only checks the markup. executeTemplate now calls the
same function executeTemplateLang does, which is literally what the v0.255.0 comment above that
call asked for: "setting it at the single choke point every shell renders through means a new
shell cannot miss it". There were two choke points.

TestAssetTag_ReachesTheRenderedPage renders six real URLs through the production router and asserts
the buster is non-empty, 8 hex, and not a version. Red-proved by removing the call again: four
pages fail naming the empty value.

A PATCH VERSION, not a second push of 0.316.0 — the rule this release added, applied to its own
mistake rather than around it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117kRTSgs3rJWUFGxyoWN6Y
This commit is contained in:
adminandClaude Opus 5 committed 2026-10-15 20:41:09 +02:00
1 parent 48d8674876
commit 006ceab58a
3 files changed
+64

No files matched your search

+16
View File
@@ -1,3 +1,19 @@
## v0.316.1 — the asset tag actually reaches the dashboard pages (2026-10-15)
**MinAgent: 0.155.0** (unchanged). A patch release because **a version number is pushed once** — the
rule this release added, applied to its own mistake rather than around it.
- **v0.316.0 shipped the asset tag dead on every dashboard page.** Every shell asked for
`?v={{.AssetTag}}` and the template test passed, but `addShellAssetData` was only ever called by
`executeTemplateLang` — the stranger-facing pages. The dashboard path had never needed it, because
`layout.html` used to ask for `{{.Version}}`, which `baseData` supplies. The first live page load
rendered `/static/style.css?v=` — **empty, which is a constant, and a constant busts nothing.**
Found in a browser on the public address; the markup was right and the value was absent.
`executeTemplate` now calls the same one function, which is what v0.255.0's own comment asked for.
- `TestAssetTag_ReachesTheRenderedPage` asserts the rendered buster is NON-EMPTY, 8 hex and not a
version, on six real URLs through the production router. `TestAssetTag_EveryShellUsesIt` checks the
markup; it could not see this, and asserting a link exists proves nothing about what it carries.
## v0.316.0 — the app page as one column; a version number is pushed once (2026-10-15)
**MinAgent: 0.155.0** (unchanged — no new agent call). No golden (`09` §3 decision 250). Design: