Repository navigation
v0.21.10
·
14 commits
to master
since this release
What changed
- test: split degenerate-guard cascade tests into sibling file
- fix: degenerate-summary cascade — content healing, replay keying, debounce bypass (v0.21.10)
Incident fixes (2026-08-19, GLM-4.7 32k loop):
- A1/A2 content healing — extractive.ts no longer uses an rs/ts/js-only allowlist (Go/C/Python/etc. projects produced 34-token skeleton summaries). Universal blocklist-based path detection + salvage digest for skeleton sessions + placeholder-filtered user requests.
- B degenerate-dedup guard — a fuzzy-tier (L1/L2) match onto a degenerate skeleton is declined when the incoming region is strictly richer, so the skeleton stops absorbing every future compaction. Flag-off = byte-identical. (DEDUP_DEGENERATE_GUARD, dashboard-tunable)
- C1 replay keying — rt.lastCheckpointId now set on dedup-only epochs too, so D.2 live-trim replay matches after a restart (fixes liveTrimReplays:0 / comp lag warn).
- C2 debounce headroom exemption — pi's 400→compact→retry recovery no longer hits the 2s debounce (headroomExceeded bypasses it).
Install: `pi update --extensions`