REPORT + CONTEXT for v0.316.x: the diagnosis, the two mechanisms, and the bad push I caused
gates / gates (push) Failing after 48s
gates / gates (push) Failing after 48s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117kRTSgs3rJWUFGxyoWN6Y
This commit is contained in:
+20
-1
@@ -7,7 +7,26 @@
|
||||
>
|
||||
> Ask Claude Code: "Please update CONTEXT.md with what we did today"
|
||||
|
||||
Last updated: 2026-10-15 (v0.315.0 — one app page with four tabs, the catalog guide, no Pi badge)
|
||||
Last updated: 2026-10-15 (v0.316.x — the app page in one column; a version number is pushed once)
|
||||
|
||||
> **2026-10-15 (late evening) — v0.316.0/.1/.2 built and on demo-hp; .3 committed, NOT built.**
|
||||
> **Measured before fixing:** the tabs rendered unstyled through the public address because of a
|
||||
> CACHE, not the box — the stylesheet URL was `?v={{.Version}}`, identical across three different
|
||||
> 0.315.0 builds; the origin sends NO ETag and NO Last-Modified, so a copy can only expire; and
|
||||
> Cloudflare caches it while rewriting the browser TTL to four hours. Evidence and its caveat:
|
||||
> `audits/app-page-2026-10-15b/P0/VERDICT.md`.
|
||||
> **Two mechanisms now:** `build.sh` refuses a second push of a version (a registry it cannot reach
|
||||
> is a refusal too), and every shell's stylesheet address is a per-build tag.
|
||||
> **The app page is the approved one-column mockup**: one width, hairline sections, underlined tabs,
|
||||
> and a box only for „the app is waiting for you" (blue) or „this is risky" (amber). The
|
||||
> auto-update SUCCESS banner is now meta text.
|
||||
> **THE LESSON OF THE EVENING, and it cost a bad push:** I put the guard in `controller/build.sh`,
|
||||
> but the release runbook runs `build/felhom-controller/build.sh` — a SEPARATE COPY from
|
||||
> 2026-07-18. Proving the refusal against a real tag therefore re-pushed 0.315.0 a fourth time
|
||||
> (R-1081). The build directory's script is a symlink now. A guard in a script nobody runs is not a
|
||||
> guard. The same shape bit twice more in one evening: the asset tag shipped dead because only one
|
||||
> of TWO render paths set it, and both times a BROWSER found what the suite could not.
|
||||
> Not yet validated: the operator's own look; 0.316.3's two cosmetic fixes.
|
||||
|
||||
> **2026-10-15 (evening) — v0.315.0, ONE APP PAGE WITH FOUR TABS.** An app was six pages and every „Vissza" went to the
|
||||
> app LIST; it is now `/apps/{slug}/{settings,data,guide,logs}` plus `/apps/{slug}/install`, one shared header and one
|
||||
|
||||
Reference in New Issue
Block a user