Skip to content

Jev directory

Pi Fast Jev Compaction — joelhooks

A Pi extension that keeps conversation text verbatim while pruning stale tool history with Jev keep-or-drop decisions, falling back to Pi's built-in summary compaction when pruning cannot free enough context.
Stars
12
Language
TypeScript
License
MIT
Reading time
3 min
Published by
Community
Author
joelhooks
Last verified
Sep 2026

About this project

A stock Pi 0.85.1 extension that keeps conversation text verbatim while pruning stale tool history with TypeSafe Jev. This is deliberately layer 1 only. It does not summarize, rewrite, or create memory. When pruning cannot free enough context, Pi's built-in summary compaction takes over. Sends a compact representation of tool calls and surrounding conversation to TypeSafe's /v1/systemone endpoint. Asks two noul questions per eligible tool call: keep the call and keep its result.

Quoted from the project's README. Read the full README.

Highlights

  • Asks two noul questions per eligible tool call - keep the call and keep its result - then applies keep, drop_result, or drop_call.
  • Keeps the first message and recent messages pinned and filters only the context sent to the model; it never rewrites the JSONL session file.
  • Decisions are stored as append-only fast-jev-decisions entries, and the ledger rebuilds after startup, reload, resume, fork, or tree navigation.
  • Defaults include keepThreshold 0.5, preserveRecentMessages 6, compactAtPercent 60, truncateHeadChars 300, and a minReductionRatio of 0.25.
  • It fails open: a missing key, malformed response, timeout, abort, network error, or insufficient reduction leaves Pi's summary path available.

Quickstart

bash
pi install git:github.com/joelhooks/pi-fast-jev-compaction
pi -e git:github.com/joelhooks/pi-fast-jev-compaction   # one run without installing
export TYPESAFE_API_KEY=YOUR_API_KEY

Watch out

MIT-licensed with the decision core ported from tamaratran/fast-jev-compaction; needs Node 24.18 and Pi 0.85.1 plus TYPESAFE_API_KEY, every ledger edit invalidates the provider's prompt cache from the first edited message, and decisions are model judgments, not proofs.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: The compaction plugin, in Chinese

X: Decision outputs in Grep

Hacker News: jevmem keeps Claude Code project memory by asking Jev which turns are worth saving.

avinashjetwani61 pointsJevmem – automatic project memory for Claude Code, built on JevRead the thread on Hacker News

X: A usage router for Grok Bot

Other listings of this project

Forks and copies of this project in the directory. This entry is the canonical one.

Pi package that uses Jev to decide, call by call, which old tool results can leave model context, with a savings gate that rejects prunes too small to be worth the prompt churn and bounded excerpts from status documents.
Jev Agents & MCP#community#awesomejev#catalog-import
pi extension that never summarizes: it asks Jev whether each old tool call and tool result is still needed, then drops or truncates only those, passing text, thinking and images through verbatim in a per-request view.
Jev Agents & MCP#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai