Only output above 10,000 estimated tokens enters the scorer
A normal command never reaches Jev. The plugin first checks whether stdout exceeds 10,000 estimated tokens, then excludes failed commands, JSON, XML, YAML, diffs, binary data, source code, documentation, and several whole-document commands. Eligible text is split into at most 200 chunks. Jev answers one yes-or-no relevance question per chunk using the command, current task, and conversation history as context.
Retention is deliberately conservative. The first and last chunks stay, as do diagnostics, test totals, warnings, result lines, and artifact paths. A chunk also stays if any history segment gives it more than a 0.1 keep probability or if scoring coverage is incomplete. The plugin replaces dropped runs with line counts and leaves the kept text verbatim. This avoids a generated summary inventing a detail, but it also means ambiguous output often remains large.
What happened when we ran it
Our sandbox installed commit edbc602 in 11 seconds. npm added 53 packages and used 64 MB on disk. The TypeScript build completed in 4 seconds, and Vitest finished in 18 seconds with 291 passed and 0 failed. npm audit found 0 known vulnerabilities across critical, high, moderate, and low severities.
The unprivileged Node 22 container had 3 CPUs, 8 GB of RAM, and no secrets. It checked the offline repository, not a paid Jev request or a live Claude Code session. The 1.3 MB checkout contained 151 files and roughly 24,486 lines of source. We found a tests directory but 0 CI workflow files and no Dockerfile, so the extensive local suite is not backed by a visible GitHub Actions gate.
Claude Code intercepts Bash, while Codex needs a wrapper
Claude Code can let the plugin wrap Bash tool results before the main model sees them. It reads up to 4,096 main-conversation messages from the host, but not the system prompt or a subagent's transcript. When pruning succeeds, the complete result is archived under the project and a recovery path is appended. A later Read or Grep can retrieve a line the scorer dropped.
Codex CLI 0.152.1 cannot replace native shell output through PostToolUse, according to the README. Its integration therefore installs a plugin and skill, records a transcript pointer, and runs selected commands through a Node wrapper. You must invoke the skill for each command. The wrapper buffers stdout until completion and stops pruning above 8 MiB. Interactive tools, servers, live progress, and commands run outside the wrapper keep their normal behavior.
Jev receives conversation context and command output
Pruning is an external API operation. Jev receives eligible stdout plus partitioned conversation history, tool inputs, and tool results so it can judge relevance. A TypeSafe key and credits are required, separate from a Claude or Codex subscription. The plugin's secret check can prevent a local archive, but the README warns that this check does not redact data or prevent transmission to Jev.
That warning decides whether many teams can use the plugin at all. A build log may contain internal paths, package names, source excerpts, customer identifiers, or credentials the heuristic misses. Codex requests have a documented 30-second timeout and fail open to the original output. An open issue says the Claude path lacks the same explicit timeout. If policy forbids sending workspace context to another provider, the 291 passing offline tests do not change the answer.
Local archives make omissions recoverable
Before the first scoring request, the plugin saves complete output with private file permissions and adds a local ignore rule. The footer tells the agent where to recover it. Successful pruning does not destroy evidence, and a Jev error returns the unmodified host result. Credential-like commands are treated differently: their output is not archived, so a missing line may require rerunning the command.
The recovery design is more useful than a one-way summary, but storage still needs a policy. Archives persist until someone removes them. On a shared workstation or repository with regulated data, private file permissions and a gitignore are only two controls. Teams should decide retention and cleanup before rollout, especially if 64 MB of package dependencies becomes a plugin installed across many projects.
Open host-limit issues temper the strong test suite
GitHub showed 160 stars, 3 open issues, and 12 open pull requests on October 7, 2026. The last push was September 30, while repository activity continued into October. There is no tagged GitHub release. The package identifies itself as version 0.1.0, so installation points at a moving checkout rather than a published release trail.
One open report says persisted Claude Code output could exceed the scoring request budget and pass through unchanged. Another explains that the visible keepThreshold behaves differently above the hard 0.1 retention floor and notes the missing Claude timeout. These reports target the pruning path, not cosmetic edges. jev-pruner is worth trying on known noisy commands, but verify that omission markers appear before assuming it is saving context.

