diff --git a/.agents/skills/publish-cover/scripts/build-cover-dist.sh b/.agents/skills/publish-cover/scripts/build-cover-dist.sh index b2130d4..4a9d5dd 100755 --- a/.agents/skills/publish-cover/scripts/build-cover-dist.sh +++ b/.agents/skills/publish-cover/scripts/build-cover-dist.sh @@ -205,6 +205,13 @@ dist, src, out = (pathlib.Path(a) for a in sys.argv[1:4]) html = (dist / "index.html").read_text() rel = os.path.relpath(src.resolve(), out.parent.resolve()) +# Drop the build stamp. The snapshot is committed, so it must be byte-stable +# for a given source + version — the stamp carries a commit hash and a +# timestamp that change on every run, which would dirty the working tree on +# every build and permanently trip this skill's own clean-tree gate. The +# published dist keeps its stamp; only the committed copy sheds it. +html = re.sub(r'\A\n', '', html, count=1) + SKIP = re.compile(r'^(?:[a-z][a-z0-9+.-]*:|//|#|\.\.?/)', re.I) def repoint(m): diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cf9c63..97ac0bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ This project follows a Keep a Changelog-style format and uses version tags for r ## [Unreleased] +## [1.9.6] - 2026-08-12 + +### Fixed + +- **The committed cover snapshot is now byte-deterministic.** As shipped in + 1.9.5 it carried the build stamp, whose commit hash and timestamp change on + every run — so every `build-cover-dist.sh` invocation dirtied + `docs/cover.html` even when nothing about the page had changed, and would + have permanently tripped this skill's own "clean working tree" gate before + deploy. The stamp is now stripped from the committed copy only; the published + dist still carries it. Two consecutive builds from an unchanged source now + produce identical bytes, so the snapshot changes only when the page or the + version does. + ## [1.9.5] - 2026-08-12 ### Changed diff --git a/docs/cover.html b/docs/cover.html index 3413ce5..ad33a62 100644 --- a/docs/cover.html +++ b/docs/cover.html @@ -1,4 +1,3 @@ - @@ -166,7 +165,7 @@
- v1.9.5 + v1.9.6

actop.

Watch your Apple Silicon Mac the way it actually works — sudoless, @@ -275,7 +274,7 @@

actop — Apple Chip top

diff --git a/pyproject.toml b/pyproject.toml index 0adc9fc..ddf0a3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "actop" -version = "1.9.5" +version = "1.9.6" description = "Apple Silicon (M1–M4) power, GPU, ANE & memory-bandwidth monitor — sudoless TUI + Python API for profiling local LLM / MLX / CoreML inference" readme = "README.md" license = { text = "MIT" } diff --git a/uv.lock b/uv.lock index 06227bb..1ef3ddd 100644 --- a/uv.lock +++ b/uv.lock @@ -15,7 +15,7 @@ resolution-markers = [ [[package]] name = "actop" -version = "1.9.5" +version = "1.9.6" source = { editable = "." } dependencies = [ { name = "rich" },