Skip to content

v0.21.10

Choose a tag to compare

@TheArchitectit TheArchitectit released this 19 Aug 22:52
· 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`