feat(v3.3.5): Hermes-aligned compact policy bump — +30K thresholds + warn-summariser lift - #41
Conversation
…warn-summariser lift Two narrow changes to components/evy/ aligning v3 Evy's auto-compact with the Hermes findings doc (.subctl/docs/hermes-compact-and-skills-findings.md §1.5): 1. Default token thresholds bumped +30K each (compact-policy.ts): warn_tokens 25_000 → 55_000 compact_tokens 40_000 → 70_000 target_tokens 30_000 → 55_000 Calibrated for the v3.3.x default supervisor profile (chat — Codex / gpt-5.5, 32K-128K windows) rather than the v2.7.3-era 65K LM-Studio loadout that the original 25k/40k pair was built around. 2. runJitCompactCheck — warn action now calls compactTranscriptInline (server.ts). Pre-v3.3.5 warn emitted an SSE banner and returned; v3.3.5 warn ALSO summarises, matching Hermes' "compact below the hard ceiling" envelope. Distinct SSE initiator tags (jit-warn vs jit) preserve dashboard timeline distinction. Operators with explicit warn_tokens / compact_tokens in ~/.config/subctl/master/compact.json are unaffected — only defaults change. Explicit non-goals (deferred to v4 Evy / Rust evy-thinking per findings §1.5): - LLM-driven summariser replacing compactTranscriptInline - config.yaml / compression.threshold knob (Evy uses compact.json) - Post-API-error recovery trigger Tests: compact-policy 26/26, three new auto-compact contract tests, full evy suite 1198 pass / 5 fail (5 lmstudio failures pre-existing on main). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
Disabled knowledge base sources:
📝 WalkthroughWalkthroughEvy's compact-policy defaults are increased across three thresholds (warn, compact, target) by 30K tokens each, and the JIT compact gate's warn action now triggers inline compaction with distinct SSE labels. Tests validate the new defaults and warn-band behavior. ChangesEvy v3.3.5 Compact-Policy Defaults and Warn-Action Behavior
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
Two narrow behavioral changes to
components/evy/aligning v3 Evy's auto-compact with the Hermes findings doc (.subctl/docs/hermes-compact-and-skills-findings.md§1.5 — landed in #39 as research artifact, now applied as code).(1) Default token thresholds bumped +30K each in
compact-policy.ts:warn_tokens25_000 → 55_000compact_tokens40_000 → 70_000target_tokens30_000 → 55_000Calibrated for v3.3.x's default
chatsupervisor profile (Codex / gpt-5.5 class, 32K-128K windows depending on model) rather than the v2.7.3-era 65K LM-Studio loadout the original numbers were built around.(2)
runJitCompactCheckwarn-action now callscompactTranscriptInline(server.ts). Pre-v3.3.5 the warn band emitted an SSE banner and returned without compacting; v3.3.5 also summarises, matching Hermes' "compact below the hard ceiling so the next turn fits" envelope. Distinct SSE initiator tags (jit-warnvsjit) preserve dashboard timeline distinction.Pivot logged
Original
/goalframing was Hermes-formula-literal (max(0.5 × ctx, 65_536)+ three triggers +config.yaml+ LLM-driven summariser). Inspection ofcomponents/evy/compact-policy.ts+runJitCompactCheck+compactTranscriptInlineshowed Evy's contract differs from Hermes in shape (two-stage absolute thresholds, JSON config, deterministic structured summariser). Findings doc §1.5 explicitly scoped the v3 Evy adaptation as "bump defaults +30K + lift summariser onto warn"; v4 Evy (Rust evy-thinking) gets the full Hermes treatment. This PR ships the §1.5-aligned scope; LLM summariser andconfig.yamlare explicitly deferred to v4.Test plan
bun test components/evy/__tests__/compact-policy.test.ts— 26/26 pass with new defaultsbun test components/evy/__tests__/auto-compact.test.ts— 3 new contract tests for v3.3.5 bands (60k warn, full matrix, realistic warn shape)lmstudioAuthHeaderenv-token tests, unrelated)bun build --target=bun components/evy/server.tscleanokband, transcript growth should now compact at warn (55k) instead of at compact (was 40k pre-v3.3.4 — irrelevant comparison; new behavior is "compact at 55k")🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes v3.3.5
Changes
Documentation