Model or dataset
juyterman1000/entroly avatar
juyterman1000/entroly

Entroly: Reversible Context Compression With Auditable Receipts for AI Agents

Cut AI context cost without trusting the compressor. Every reduction is reversible, byte-exact recoverable, and carries an auditable receipt. Local-first, works through proxy, MCP, SDK, or agent wrapper.

471 stars71 forksPythonApache-2.0

At a glance

What is it?
Entroly is a local-first Python layer that selects evidence under a token budget, emits a receipt for every reduction, and lets you recover the exact original bytes by handle. It is for teams whose agent bills are real but who will not accept silent context loss.
Who is it for?
Adopt Entroly if your agent sends large evidence sets to a provider and you need every omission to be traceable and every dropped span recoverable; it fits teams already routing traffic through a proxy, MCP server or SDK they control. Do not adopt it if you expect hosted subscription inference to be intercepted without a route through Entroly, or if you need a signed-off compression guarantee today: pyproject.toml still carries the Development Status :: 4 - Beta classifier.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem Entroly targets: context you pay for but cannot audit

Long-running coding agents resend the same files, tool schemas and retrieved documents on every turn. The provider bills for all of it. The usual fix is a compressor that silently drops text, and once text is dropped nobody can say which sentence disappeared or why. Entroly's answer is to keep the selection step, but attach a record to it. The README describes an open-source, local-first token-efficiency and Context Assurance layer built around budgeted evidence selection, recoverable compression, content-addressed recovery and auditable receipts. The audience is narrow and identifiable: people running Claude Code, Codex, OpenClaw, GitHub Copilot, Cursor, Aider or OpenAI and Anthropic-compatible applications who want the input side of the bill to shrink without changing the model or the agent architecture. The README is explicit that a listed integration name is not a claim that hosted subscription inference is intercepted. Provider-bound savings exist only when the request traverses an Entroly-controlled route, which is the single most important sentence in the document.

How selection, receipts and byte-exact recovery fit together

The mechanism has three stages visible in the repository layout and README. First, evidence is selected under a token budget rather than compressed by a model. Second, every selection emits a receipt naming what was kept, what was omitted, and a handle. Third, that handle resolves back to the exact original bytes through content-addressed recovery, which is why the project calls the reduction reversible rather than lossy. The repository splits this across entroly-core, entroly-engine, entroly-qccr and entroly-wasm, with a Python package under entroly/ and a separate external_adapter/ directory. Tool schemas are handled conservatively: the README states that schemas are never hidden by a relevance guess, and deferral happens only when a caller opts in per request with an X-Entroly-Active-Tools header containing a comma-separated set such as search_files,read_file. Forced tool choices and unnamed provider tools stay available, and an invalid or non-matching set leaves the request unchanged. That is a deliberate design trade-off: the safe path is the default, and the saving is opt-in. The verification story is also concrete. The README links benchmark result files claiming 5,117 of 5,117 native source fragments independently verified and 13 of 13 public SDK recovery probes exactly matching their source spans. Those are the project's own published artifacts, not an independent audit.

Install Entroly from PyPI and run a first receipt check

The README's install line is a single pip command followed by the go subcommand. The package is also published on npm, and pyproject.toml requires Python 3.10 or newer. Run this in the repository you want Entroly to read.

Install Entroly from PyPI and run a first receipt check (continued)

After that, the README points to two verification commands and a dashboard. entroly verify-claims and entroly simulate run without any environment variables or API keys, and the value ledger is read either as text or as JSON. The .env.example file states plainly that Entroly does not automatically load .env, so any setting you add must be exported in your shell.

Where Entroly is the wrong tool

The largest limitation is stated by the project itself: savings only exist when the request passes through an Entroly-controlled route. If your team uses a hosted coding subscription whose traffic you cannot redirect, Entroly has no interception point and the token ledger will stay empty. The second limitation is the shape of the accounting. The README's live metrics section separates tokens saved, estimated cost avoided, compression tokens saved and tool-schema tokens deferred, and notes that the provider invoice remains billing truth. The estimated dollar figure is modeled from configured pricing, so it is a local estimate, not a bill. Third, the public counter is not a worldwide total. The README describes it as a conservative community lower bound where each provider-bound delta is rounded down to whole 1,000-token units and whole cents before upload, with no prompt, content, model, price or exact per-request value included. Fourth, the project labels itself Development Status :: 4 - Beta in pyproject.toml, and the release cadence is fast: v1.0.81 on 2026-08-29, then v1.0.82 and v1.0.83 on 2026-09-06, with pyproject.toml already at version 1.0.84. Pin a version if you need a stable surface. Finally, tool-schema deferral depends on the caller sending an accurate active tool set. A wrong or non-matching header changes nothing, which is safe, but it also means that saving never materializes without deliberate per-request work.

How Entroly differs from a plain prompt compressor

A conventional prompt compressor is a transformation: text goes in, shorter text comes out, and the original is gone unless you kept a copy. Entroly inverts the emphasis by treating the original as the durable artifact and the compressed form as a view over it. The handle in the receipt is the address of the original bytes, so recovery is a lookup rather than a reconstruction from a summary. That difference matters when an agent makes a wrong turn and you need to know whether the cause was a dropped span or a bad model decision. The second difference is where it runs. Entroly is local-first and integrates at the SDK, framework, proxy, MCP, plugin or agent boundary, so the selection logic sits next to your repository rather than inside a hosted service. The cost of that choice is integration work on your side. A hosted gateway that already sits in front of your provider traffic may need less wiring, but it will not give you a local content-addressed store you can query by handle, and it will not produce a receipt you can diff against the source file.

Licence, maintenance and upgrade cost

Entroly is Apache-2.0, and pyproject.toml lists LICENSE and NOTICE as the licence files, which means the NOTICE file ships with the distribution and should be preserved when you redistribute. Apache-2.0 includes an explicit patent grant and requires that modified files carry prominent notices; if you fork entroly-core or the engine, that obligation follows the fork. This is a description of the licence text, not legal advice. On maintenance, the last push was on 2026-09-10 and the repository is not archived, so the codebase is being touched within the last two weeks. The upgrade cost is dominated by the release cadence rather than by dependency churn. The declared runtime dependencies are mcp, httpx, starlette and uvicorn, all with upper bounds, so a major MCP release will not silently land in your environment. The version numbers move quickly enough that pinning to a specific release and reading CHANGELOG.md before bumping is the practical approach. Two environment flags are worth knowing for air-gapped or reproducible installs: ENTROLY_NO_SELF_HEAL=1 disables the one-time native-engine package download and ENTROLY_AIR_GAP=1 keeps the install fully offline.

Editorial conclusion

Adopt Entroly if your agent sends large evidence sets to a provider and you need every omission to be traceable and every dropped span recoverable; it fits teams already routing traffic through a proxy, MCP server or SDK they control. Do not adopt it if you expect hosted subscription inference to be intercepted without a route through Entroly, or if you need a signed-off compression guarantee today: pyproject.toml still carries the Development Status :: 4 - Beta classifier. Before committing, run entroly value --json to see what your workload actually saves, and read docs/live-tokenomics.md to confirm the measurement contract matches how your team reports cost.

Frequently asked questions

Does Entroly need API keys or environment variables to run locally?

No. The .env.example file states that Entroly requires no environment variables or API keys for local installation, for entroly verify-claims, for entroly simulate, or for the normal test suite. Provider credentials are needed only for provider-bound proxy paths or live benchmarks.

Is every compressed span in Entroly recoverable?

The project's design is that each selection emits a receipt with a handle that recovers the exact original bytes through content-addressed recovery. The README links benchmark result files claiming 5,117 of 5,117 native source fragments verified and 13 of 13 public SDK recovery probes exactly matching their source spans.

Does Entroly hide tool schemas to save tokens?

Not by default. The README states that tool schemas are never hidden by a relevance guess, and deferral happens only when a caller opts in per request with an X-Entroly-Active-Tools header. An invalid or non-matching set leaves the request unchanged.

What Python version does Entroly require?

The pyproject.toml file sets requires-python to >=3.10 and classifies support for Python 3.10 through 3.14. The install command in the README is pip install -U entroly && entroly go.

What is the difference between tokens saved and estimated cost avoided in Entroly?

Tokens saved is the cumulative token reduction measured by the active Entroly workload, while estimated cost avoided is the modeled USD value of provider-bound input reduction using configured pricing. The README notes that the provider invoice remains billing truth.

Official sources

  1. juyterman1000/entroly on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/juyterman1000-entroly.svg)](https://hysenlabs.com/projects/juyterman1000-entroly)