← all repositories
tamaratran/fast-jev-compaction

Keep it verbatim: Claude Code compaction without summaries

Most context compaction rewrites old turns into summaries, silently erasing exact errors and file paths; this plugin asks Jev to score every tool call and result, dropping only what is stale while keeping the rest word-for-word.

3.3k stars TypeScript Coding AssistantsLLMOps · Eval
fast-jev-compaction
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does

fast-jev-compaction is both an npm library and a Claude Code plugin that replaces the editor’s default compaction strategy. Instead of asking an LLM to summarize conversation history—which rewrites prose and often discards exact file paths, error strings, or constraints—it sends the full transcript to a model called Jev. Jev scores each tool call and result for relevance; stale pairs are removed or truncated, while everything kept stays verbatim and in original order.

The interesting bit

The project treats summarization as a bug rather than a feature. It avoids any rewriting of kept content by making discrete keep/drop/truncate decisions on individual tool interactions. To stay within token limits, it runs a staged compression pipeline on the conversation state—progressively truncating tool inputs, abridging long texts, and collapsing old messages—before firing parallel batched requests to Jev with the full compressed state repeated each time.

Key highlights

  • Verbatim preservation: user messages, assistant text, and kept tool results are never rewritten
  • Jev scoring: every non-pinned tool call and result gets a keep/drop probability judged against the full conversation context
  • Staged fitting: crams state into ~25k estimated tokens via progressive truncation and collapsing before querying the model
  • Parallel batching: splits questions across concurrent requests when history is large, merging answers afterward
  • Graceful fallback: throws on failure or insufficient reduction, letting Claude Code fall back to its built-in summarizer

Caveats

  • Only tool calls and results are compaction candidates; text messages are never removed from the output (they are only abridged in the state sent to Jev)
  • Token counts are rough heuristics based on character counts, not real tokenizer output
  • The full state is repeated in every parallel request, so histories near the 25k ceiling generate many requests

Verdict

Worth trying if you run long Claude Code sessions and are tired of summaries swallowing exact error messages or constraints. Skip it if you don’t have a TypeSafe API key or rarely hit context limits.

Frequently asked

What is tamaratran/fast-jev-compaction?
Most context compaction rewrites old turns into summaries, silently erasing exact errors and file paths; this plugin asks Jev to score every tool call and result, dropping only what is stale while keeping the rest word-for-word.
Is fast-jev-compaction open source?
Yes — tamaratran/fast-jev-compaction is open source, released under the MIT license.
What language is fast-jev-compaction written in?
tamaratran/fast-jev-compaction is primarily written in TypeScript.
How popular is fast-jev-compaction?
tamaratran/fast-jev-compaction has 3.3k stars on GitHub.
Where can I find fast-jev-compaction?
tamaratran/fast-jev-compaction is on GitHub at https://github.com/tamaratran/fast-jev-compaction.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.