Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .agents/skills/publish-cover/scripts/build-cover-dist.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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<!-- repo:[^\n]*-->\n', '', html, count=1)

SKIP = re.compile(r'^(?:[a-z][a-z0-9+.-]*:|//|#|\.\.?/)', re.I)

def repoint(m):
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 2 additions & 3 deletions docs/cover.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<!-- repo:0153e21 built:2026-08-13T03:48:06Z -->
<!DOCTYPE html>
<html lang="en">
<head>
Expand Down Expand Up @@ -166,7 +165,7 @@

<section class="hero">
<div class="wrap">
<span class="badge">v1.9.5</span>
<span class="badge">v1.9.6</span>
<h1>actop<span>.</span></h1>
<p class="tagline">
Watch your Apple Silicon Mac the way it actually works — <strong>sudoless</strong>,
Expand Down Expand Up @@ -275,7 +274,7 @@ <h2>actop — Apple <span style="color: var(--accent);">C</span>hip top</h2>

<footer>
<div class="wrap">
<p>actop v1.9.5 · an independent project inspired by <a href="https://github.com/tlkh/asitop">asitop</a> · MIT licensed</p>
<p>actop v1.9.6 · an independent project inspired by <a href="https://github.com/tlkh/asitop">asitop</a> · MIT licensed</p>
</div>
</footer>

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.