v1.3.134
v1.3.134
Released: 2026-07-06
Features
-
Strategy Playbook (
feat(agent)): Learn from successful runs to complement ratchet's failure-based learning. Records task-type/tool-sequence/file-type fingerprints from successful agent runs and injects strategy hints at run start. ACE-inspired (Agentic Context Engineering, ICLR 2026). -
Tool-Aware Observation Compression (
context): Compress tool call observations during context summarization to preserve token budget. ACON-inspired approach that selectively compresses verbose tool outputs while preserving semantically important results (errors, warnings).
Bug Fixes
-
TUI: Missing panels in isAnyPanelOpen (
fix(tui)): 15 newer panels (WeChat, WeCom, Matrix, Mattermost, Signal, IRC, Nostr, Twitch, WhatsApp, Stream, Inspector, Harness, LanChat, Skills) were missing fromisAnyPanelOpen(), causing the "Save target: [instance/global]" scope indicator to not appear when those panels were open. -
TUI: Missing panels in hasActivePanel (
fix(tui)):knightPanelandstatsPanelwere missing fromhasActivePanel(), causing Esc/Ctrl+C to not close those panels when they were active. -
Agent: CommandsRun unbounded growth (
fix(agent)): TheCommandsRunslice on agent run summaries could grow without bound during long sessions, increasing memory usage. Now bounded to a maximum of 200 entries. -
Agent: Playbook fingerprint staleness (
fix(agent)): File type fingerprints in the playbook were not sorted, causing identical patterns to create duplicate entries. Also fixed glob memoization staleness by using directory mtime for invalidation. -
Lanchat: Crash-safe Store write (
fix(lanchat)):Store.writeLockednow uses atomic write (write to temp file + rename) to prevent corruption if the process is killed mid-write. -
Tunnel: Relay dial error body cap (
fix(tunnel)): Relay dial error response bodies are now capped at 4KB to prevent memory exhaustion from large error pages.