Cozempic 1.8.34
Two workstreams since 1.8.33.
✨ New — prune-value dashboard & receipts
cozempic dashboard— a self-contained static HTML dashboard of your prune value: lifetime tokens/bytes reclaimed, per-strategy leaderboard, per-session timelines, tier distribution. Zero extra deps; opens in your browser.- Prune receipts — every committed prune (manual, guard, and overflow auto-prune) writes a local provenance receipt under
~/.cozempic/receipts/. On by default, best-effort (never blocks or delays a prune), privacy-clean (session id / transcript path / cwd are sha256-hashed; only bounded tier ids recorded). COZEMPIC_NO_RECEIPTS— set to any non-empty value to opt out.cozempic dashboard --agent <name>+ an agent-agnostic metrics contract and a Codex adapter, so non-Claude agents inherit the dashboard for free.
🔒 Reload-gate & guard hardening
- #134 — the reload gate now blocks phantom clear/terminate of live agents triggered via user-typed notifications, and caps the block-regex scan against DoS. Fail-safe direction is always to over-defer, never to wrongly SIGKILL live work.
- #137 —
COZEMPIC_RELOAD_WINDOW_S/COZEMPIC_RELOAD_MAXare now bounded; out-of-range values reject to the safe default so the reload storm-guard can no longer be silently disabled. - #131 — guard now defers reload / K-exit through in-flight teammates as well as subagents.
- #135 / #136 — cross-producer slug parity; SIGTERM-leak /
_pid_is_aliveconsolidation; guard test logging/tmp-isolated.
🩹 Fixes
message_countregression fix (team-change hash no longer churns every cycle)._constants.py+ attribute-tolerant task-notification regexes +_persisted_tokens_saved(#132/#139).- Reload-lock / spawn-lock / session-detection test isolation (#132/#133/#139).
Note: prune receipts are default-on, so the first prune after upgrading creates ~/.cozempic/receipts/. Opt out with COZEMPIC_NO_RECEIPTS=1.