From 057162e45bdc0fee30b3f12e307853c83d336207 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Aug 2026 16:34:49 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=20fix:=20sync=20package-lock,=20an?= =?UTF-8?q?d=20stamp=20the=20version=20fallbacks=20from=20the=20build?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Junie's review on #16 caught the lock, and it was worse than reported: package-lock.json said 0.3.0, so it had already missed the 0.4.0 release. It does not ship (npm excludes it from tarballs, and `files` lists only dist, src, FRAMEWORKS.md and CHANGELOG.md) and `npm ci` never complained because it only diffs dependencies, not the project's own version — which is exactly why it drifted two releases without anyone noticing. Regenerated with `npm install --package-lock-only`. The other half was the two version strings in docs/index.html: the brand badge and the "It is still 0.x" line. Both are no-JavaScript fallbacks — page.js overwrites them from meta.js — so they are right in a browser and stale in a text reader or a scraper. Bumping them by hand is what failed on 0.4.0 and again here, and it is the "release facts hand-bumped beside their generator" finding from the code review. So build-docs.mjs now stamps them, next to the meta.js it already writes. The docs-sync gate turns a forgotten bump into a CI failure instead of a review comment. Both regexes are asserted: renaming the markup fails the build with the pattern that stopped matching, rather than silently stamping nothing — verified by renaming the id and watching it exit. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK --- docs/index.html | 4 ++-- package-lock.json | 4 ++-- scripts/build-docs.mjs | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/docs/index.html b/docs/index.html index ff19890..3e29892 100644 --- a/docs/index.html +++ b/docs/index.html @@ -410,7 +410,7 @@ footer { border-top: 1px solid var(--border); padding-block: 2.5rem; color: var(