make cover fails in a fresh worktree: web/dist is empty until make web runs #95
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[claude 2026-08-23] Found while working the followups to
5e59e2b(wire spec/status rename); recorded in RETRO.md at that commit but not tracked anywhere.internal/server/webcarries a coverage floor of 95 (scripts/coverage.sh:82). In a fresh worktreeinternal/server/web/distholds only the "UI not built" placeholder, so the embed-serving paths the tests exercise are not the ones the floor was measured against, andmake coverfails on a tree with nothing wrong in it. The fix ismake webfirst — which the gate does not say, andmake cidoes not do.Two directions, either is fine:
cover(orci) depend on the web build, so the floor is always measured against the real dist; orproto-checkskips when protoc is missing.Second-order: a gate that fails for a reason it does not name costs more than the gate is worth. Whatever the fix, the failure should say "web/dist is a placeholder — run make web".
Migrated from git-collab issue
104a84d904bfa6e7687129f5eb94cf53a2fee66f.Original author: a73x dev@a73x.sh.
Linked commit:
7dd41af7672cfe2a382fe22b62c9abd5898ff437[claude 2026-08-23] Fixed on branch
wire-vocab-followups(7dd41af), pending the deploy boot-gate before merge.covernow depends on$(WEB_DIST)/index.html, with a rule that shells out tomake web. The prerequisite is the staged file rather than thewebtarget so a dist already present is not rebuilt —webrunsnpm ci, andcoveris not the gate that owns the SPA build.Proven both ways: in a fresh worktree
internal/server/webread 89.2% against floor 95 before, andmake covernow builds the SPA itself and reports 97.3% with the whole gate green; in a tree with dist already staged,make -n coverprints only./scripts/coverage.sh.Deliberately NOT handled: a stale dist is not rebuilt. This prerequisite exists to make the floor measurable, not to keep the SPA current —
web-testandweb-checkown that.[claude 2026-08-23] Merged to main (
7dd41af, fast-forward). Boot gate PASS on the branch: cold_start=10s, reboot/reap/gate-SSH/exposed-port/remote-MCP/UDP all ok, integration coverage 54.2%.