Launch offer+40%Claim →

Jev context compression: keep the evidence your agent needs

Use a bounded relevance judgment to decide which tool output stays in context. Keep original text recoverable and let code enforce the retention policy.

Context compression is not necessarily summarization. A decision model can assess whether a block matters for the current task; application code can then retain it verbatim, replace it with a recall marker or leave the original context unchanged. This page demonstrates that policy and links two community approaches. It does not claim a measured Jev token-saving rate.

Try the retention policy

Local demo with fixed sample scores, not a Jev benchmark. No text leaves your browser. Counts include recall markers and measure characters, not tokens.

1,750 → 1,750 characters · Original context

  • task · Pinned constraint
  • old-search · Below the hide threshold
  • error · Error evidence
  • route · Relevant or uncertain
  • uncertain · Relevant or uncertain
Fix the expired-session redirect. Preserve the login route and never log session tokens.

Earlier search results from an unrelated styling task:
styles/archive-0.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-1.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-2.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-3.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-4.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-5.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-6.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-7.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-8.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-9.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-10.css: historical button spacing and color declarations; superseded by the current theme.
styles/archive-11.css: historical button spacing and color declarations; superseded by the current theme.

Current failing test: expected /login?next=/dashboard, received /dashboard. Reproduces with an expired session.

Current route behavior: check the session before returning dashboard content. The redirect preserves the destination.

A previous note mentions URL encoding for next. Verify whether the current redirect helper encodes it already.

The sample deliberately gives an error block a low relevance score. The policy keeps it anyway because explicit error evidence is protected. An uncertain note stays at the default threshold, and the original task is pinned. Move the threshold to see how a more aggressive policy can hide useful information, then restore the original text.

Ask Jev a real relevance question

The local demo above uses sample probabilities. This separate live example sends the text you choose to Jagent’s demo endpoint and displays the returned probability. It does not automatically feed that answer into the retention demo or modify a real agent session. Normal demo quotas apply.

Run this example

1 question · no key needed

Two approaches: tool-output filtering and transcript compaction

winnow filters large tool results before the agent consumes them. Its documented workflow retains relevant or uncertain blocks and stores hidden originals for recall. It can produce summaries using a separate model; Jev is the relevance judge, not the prose summarizer. Check the repository’s host and hook requirements before installing.

fast-jev-compaction works on a conversation transcript. It considers tool calls together with their results, while preserving user and assistant text in its output. Its decisions can retain a pair, shorten a result or remove a pair. That is a different integration point from filtering a single tool result.

These descriptions were checked against their repository documentation on 2026-11-03. The browser demo is our own small retention-policy implementation, not a recording or benchmark of either upstream project. Host plugin support and package behavior can change; use the source links to verify compatibility.

Reproduce the policy locally

Download the standalone context retention example and run it with Node.js. It needs no package install, key or network request. The output shows before/after character counts and checks that the task, error evidence and uncertain block survived, that one unrelated block was hidden, and that recall restores the original. These are policy checks, not model-accuracy measurements.

shell
node context-retention.mjs

To inspect a community pipeline without a provider key, winnow documents a fake-judge demonstration. After reviewing and cloning its repository, its documented command is:

shell
uv run --project winnow/sidecar winnow demo --fake

The fake judge is not Jev. Running a live upstream demonstration requires the repository’s supported provider credentials and environment. A Jagent key is not automatically compatible with those packages. Keep those results separate from the local example when writing a report.

Measure usefulness, not just a smaller prompt

Begin with representative transcripts and the original task outcome. Label blocks that contain required evidence before selecting a threshold. Replay identical tasks with and without filtering, and record whether the final answer or test outcome changes. A short prompt that loses the failing stack trace is not an improvement.

Measure tokens with the relevant tokenizer or provider usage fields. Character counts in this demo are exact for its sample text, but are not token counts. Nor does the fraction of characters removed establish API cost savings: a judging request may resend substantial context, and a later recall may add it back.

Keep the fallback explicit

Do not turn a timeout or missing probability into a zero score. The example keeps a block when its score is absent, non-finite or outside the probability range. Protect the current task and error evidence before applying a threshold. Preserve tool-call/result pairing when filtering full transcripts, and retain the unmodified transcript separately for debugging.

A model probability is evidence for a policy, not proof that deletion is harmless. Start by logging proposed removals without changing the agent’s input. Only enable filtering after evaluating your own workload. If the source already fits comfortably into context, passing it through can be simpler and more reliable.

Does a skill enable context compression?

A skill can tell an agent how to design a retention workflow, but instructions alone do not intercept its tools or change the host’s compaction behavior. That requires a supported hook, library or application integration. See the Jev Skills guide for the distinction between installed instructions and runtime capabilities.