v1.8.0 — Safety, lifecycle management, self-deprecation
Major release — merges @thepiper18's hardening PR (#8) with 28 new tests (75 total).
The interceptor now knows when it's no longer needed.
As Anthropic fixes upstream bugs (v2.1.90 fixed the stuck-5m TTL bug, v2.1.104 mitigated the resume-scatter issue), the interceptor's bug-fix layer transitions toward dormancy. This release adds the lifecycle management to handle that transition gracefully.
New features
- Fingerprint round-trip safety check — before rewriting
cc_version, verifies our salt/indices reproduce CC's fingerprint. If verification fails, the rewrite is skipped. The interceptor can never make cache performance worse than stock CC. - Master kill switch —
CACHE_FIX_DISABLED=1disables all bug fixes while keeping monitoring + optimizations active. - Per-fix toggles —
CACHE_FIX_SKIP_{RELOCATE,FINGERPRINT,TOOL_SORT,TTL,IDENTITY}for granular control as individual bugs are fixed upstream. - Dormancy detection — tracks per-fix effectiveness. When a fix hasn't been needed across multiple sessions, the health line reports it as
dormantand suggests disabling it. - Regression detector — monitors cache_read ratio. Warns if it drops below 50% across 5+ calls, especially useful after disabling fixes.
- Health status line — on first API call:
relocate=active(2h ago) fingerprint=dormant(5 clean sessions) tool_sort=active ttl=active identity=waiting - Portuguese guide —
docs/guia-pt-br.md, credit @thepiper18
The three-purpose lifecycle
| Purpose | Examples | Lifecycle |
|---|---|---|
| Bug fixes | Relocate, fingerprint, tool sort, TTL | Temporary — obsolete when CC fixes upstream |
| Monitoring | Quota tracking, TTL tier, cache hit rate | Permanent |
| Optimizations | Image stripping, output efficiency | Permanent, opt-in |
CACHE_FIX_DISABLED=1 disables the first category only.
Context
This release ships the same day as our Part 2 blog post and the Part 1 correction updating the v2.1.81 pin recommendation to v2.1.104. The lifecycle management in this release is what makes that transition safe — users on v2.1.104 get told which fixes are still needed and which are dormant.