Skip to content

Release v1.9.4: fix and regenerate the local cover page - #65

Merged
binlecode merged 1 commit into
mainfrom
release-v1.9.4
Aug 13, 2026
Merged

binlecode merged 1 commit into
mainfrom
release-v1.9.4

Conversation

@binlecode

Copy link
Copy Markdown
Owner

Two problems with docs/cover.html

1. It never rendered. The page references its hero image relatively:

<img src="actop-demo.gif" ...>

but docs/ contains no such file — the GIF lives in images/. Opening the local copy in a browser has always shown a broken image. Now ../images/actop-demo.gif, which resolves without duplicating a 4.3 MB binary into git.

2. It was hand-maintained, so it drifted. It sat several versions behind and carried a hand-written version string — but the version is injected at build time by build-cover-dist.sh from pyproject.toml. A hand-edited rendered copy cannot stay correct by construction.

It is now regenerated from the build output. cover/index.html remains the single source; docs/cover.html is a snapshot of what gets published.

Why the version bump is load-bearing here

The badge is injected from pyproject.toml. Committing a rendered snapshot at version N while bumping to N+1 in the same PR would make the file stale on arrival. Rebuilding after the bump and committing the result keeps the snapshot, pyproject.toml, and the tag in agreement — the badge reads v1.9.4 and so does the release.

Verified

$ grep -oE 'class="badge">[^<]*|<img src="[^"]*"' docs/cover.html
class="badge">v1.9.4
<img src="../images/actop-demo.gif"

Target exists. Build gates all passed (GIF 4.3 MB / 185 frames under the 5 MB cap, secret scan clean).

Follow-up worth considering

build-cover-dist.sh could emit docs/cover.html itself, removing the manual sync step entirely. Not done here — it changes skill-owned tooling rather than the page.

🤖 Generated with Claude Code

docs/cover.html referenced actop-demo.gif relative to docs/, but the GIF
lives in images/ — so the local copy has always rendered a broken hero
image. It now points at ../images/actop-demo.gif, which resolves without
duplicating a 4.3 MB binary into the repo.

The file is now regenerated from the build output instead of hand-edited.
It had drifted several versions behind and carried a hand-written version
string that build-cover-dist.sh injects automatically. Regenerating it at
the same version as the tag keeps the rendered snapshot and pyproject.toml
in agreement; cover/index.html remains the single source.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@binlecode
binlecode merged commit 0153e21 into main Aug 13, 2026
5 checks passed
@binlecode
binlecode deleted the release-v1.9.4 branch August 13, 2026 03:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant