Entroly
Selects high-value evidence under explicit token budgets, compresses context reversibly, and issues an auditable receipt for every cut — cutting your AI bill without swapping models or rewriting code.
Evidence shows local-first design, strictly opt-in telemetry (v3 contract rejects content fields, uploads only rounded bucket values), fail-closed security gates with fail-open compression, and an ENTROLY_NO_SELF_HEAL opt-out. Deductions: the native engine is a required dependency and, when missing, commands self-install from PyPI (an unconfirmed outbound action, opt-out only via env var); Receipts/Context Commits contain exact recovery data with access control delegated to the operator; publisher identity is unverified, a personal Gmail, so attribution is weak.
pyproject comments disclose and fix two real silent-failure modes (native-engine absence degrading selection to arithmetic; missing PyYAML silently ignoring policy, now named via policy_source_status); CI enforces benchmark-doc sync and regression guards; worker tests cover 413/500/content-blind errors. Deduction: most failure-path evidence comes from tests and docs rather than full source, and README contains internally inflated claims (downloads, model names) that hurt overall consistency.
Very broad audience/scenario coverage (pip/npm/Rust/Docker/Homebrew; SDK/MCP/proxy/CLI/wrapper; 20 README languages), explicit 'tested' vs 'guided/bounded' integration tiers, conservative default window for unidentified models. Deduction: trigger precision depends on tool-side query quality and conventions like X-Entroly-Active-Tools; several boundary claims rest on documentation rather than code evidence.
Excellent information architecture: install matrix, persona-based quickstart, deep doc links, SECURITY.md with private reporting and security boundaries, explicit support line. LICENSE is full Apache-2.0 with NOTICE. Deductions: no CHANGELOG file in evidence (only a releases link); single unverified maintainer using a personal Gmail, and the 'Copyright 2026 Entroly' date is anomalous; long-term maintenance commitment unverifiable.
Output usability is evidenced (receipts, verify-claims, simulate, value, dashboard, structured errors); cost/benefit includes an honest benchmark table showing SQuAD 2.0 degradation (80%→72%) and 'not a universal guarantee' language, with GSM8K labeled pass-through. Deduction: all savings/retention numbers are self-reported and cannot be re-verified statically; accuracy loss from compression is real on some tasks.
Benchmarks ship reproduction commands, raw artifact paths, CI-forced BENCHMARKS.md sync, and pinned tokenizer versions; fact/inference separation is good (PRISM-R marked research prototype, WITNESS marked advisory, explicit 'not invoice truth' statements). Deduction: README claims such as 'GPT-6 Astra', 'Gemini 3.6 Flash', 'Muse Spark 1.3', and '100,438 downloads' cannot be corroborated against any public source and appear inflated or fabricated, materially weakening external corroboration; the 5,117/13 verification badges are self-reported.
- Several README claims (GPT-6 Astra, Gemini 3.6 Flash, Muse Spark 1.3, cumulative download counts) cannot be corroborated from public sources; re-measure on your own repo with entroly simulate / verify-claims before adopting any benchmark figure.
- Receipts and Context Commits contain byte-exact recoverable source/prompt material; protect them under the same access and retention policy as your source repository.
- When the native engine is missing, the tool self-installs from PyPI; set ENTROLY_NO_SELF_HEAL=1 for strictly offline operation.
- Publisher is an unverified individual account with a Gmail contact; security reporting and maintenance continuity are single points of risk. Pin versions and audit dependencies before production use.
What does this agent do, and when should you use it?
Entroly is an open-source, local-first AI token-efficiency and Context Assurance layer (repository juyterman1000/entroly, Apache-2.0). It sits between your code and the AI: it first selects the fragments that actually answer the query, compresses them under an explicit budget, keeps everything it set aside byte-exact recoverable, and emits a Context Receipt recording what was kept, dropped, and why. It ships as a CLI, Python/TypeScript SDK, MCP server, HTTP proxy (local port 9377), and library import, integrating with Claude Code, Codex CLI, OpenClaw, Cursor, GitHub Copilot CLI and 30+ others, with proxy paths for ANTHROPIC_BASE_URL, OPENAI_BASE_URL and GOOGLE_GEMINI_BASE_URL. Core commands include entroly go, entroly simulate, entroly verify-claims, entroly recover, entroly proxy, entroly attach, and entroly govern. All selection, compression, and verification happen on your machine by default — code is never uploaded and there are no analytics on by default.
The end-to-end flow: Entroly reads your repository and query, picks the evidence fragments relevant to the actual question (picks first, shrinks second), compresses under budget, and lets you restore any omitted span byte-exactly via entroly recover with a sha256 handle verified against a fingerprint. Every decision produces a Context Receipt. SDK entry points include compress, compress_messages, optimize, and rescue_session; the proxy optimizes requests in flight and supports an X-Entroly-Active-Tools header to defer tool schemas by limiting the active tool set; when a session approaches the provider's context limit it compacts bulky tool output mid-flight without breaking the byte-stable prompt prefix and its warm cache. WITNESS hallucination detection compares AI answers against the supplied evidence locally with no second paid model call; RAVS routing can send cheap work to cheap models and is optional and fail-closed. The entroly govern commands provide deny-by-default authorization policies and a verifiable audit chain.
- Developers on large codebases using Claude Code or Cursor whose agent sees only a few files and says 'I don't see where that is handled' — Entroly records each model's real context limit and receipts every drop, avoiding budget-driven file misses.
- Teams with chatty multi-turn agent sessions hitting context limits: proxy-path runaway-session rescue compacts tool output in flight, no manual /compact needed.
- Anyone cutting a real, growing AI bill: measure first with the free entroly simulate and entroly value on your own repo before wiring a paid key.
- Engineers who need answers checked against evidence: local WITNESS detection (84.92% accuracy on HaluEval-QA) with no extra model call.
- Teams that need to state who an agent is and what it was allowed to do: entroly govern policy check and entroly govern audit verify.
- Users running NVIDIA Nemotron 3.5 Lightning locally with Ollama: evidence selection, budgets, and receipts through the OpenAI-compatible proxy path.
- Python developers building their own apps who call the SDK directly: from entroly import compress, compress_messages, optimize.
What are this agent's strengths and limitations?
- Reversible compression: omitted content is recovered byte-exactly (66/66 restart-recovery payloads, 13/13 SDK recovery probes) and checked against a fingerprint — a concrete differentiator over lossy, irreversible compressors.
- Auditable decisions: every cut comes with a Context Receipt naming what was kept, dropped, and why; 5,117/5,117 native source fragments independently verified.
- Selects first, then compresses: ranks evidence by the actual query and keeps the prompt prefix byte-stable so provider caching discounts survive.
- Five integration surfaces (CLI, SDK, MCP, HTTP proxy, agent wrapper) covering 30+ tools with zero code changes on the proxy path.
- Local-first privacy: all selection, compression, and verification on your machine, no default analytics, code never uploaded.
- Honest benchmarking: the README discloses unfavorable results like the SQuAD 2.0 accuracy drop (80% → 72%) instead of only good numbers.
- Compression is a trade: SQuAD 2.0 accuracy fell from 80% to 72%; it does not win everywhere.
- Savings are route-dependent: provider-bound savings exist only when requests traverse an Entroly-controlled route; Entroly does not claim interception of GitHub-hosted subscription Copilot inference.
- Extra operational surface: you run and maintain a local process (proxy/daemon/MCP server); for tiny repos or prompts that already fit the budget it is pure pass-through overhead.
- Long context is not cheaper: filling GPT-6 Astra's 869,500-token window does not reduce request cost — you pay what the provider charges.
- Tiered model metadata: some models (Kimi K3, GLM-5.3) carry only 'announced' rather than 'verified' records, which OpenClaw's budget resolution rejects.
- Model routing substitutes the model on a live request, so it stays behind explicit authorization and fails closed.
How do you install or deploy this agent?
Recommended full Python version: pip install -U entroly. Alternatives: npm install -g entroly (Node/WASM), brew install juyterman1000/entroly/entroly (Homebrew), docker pull ghcr.io/juyterman1000/entroly:latest (Docker), or build the standalone Rust binary with cargo build --release --bin entroly-rs --features proxy from entroly-core/. Package runners: npx -y entroly@latest --help or uvx --from entroly entroly --help. Extras: entroly[proxy], entroly[native], entroly[full]. One exception to offline behavior: if the native engine is missing, it is installed from PyPI (disable with ENTROLY_NO_SELF_HEAL=1). Local installation and the normal test suite need no API key.
How do you use this agent?
Fastest path: pip install -U entroly && entroly go — it auto-detects your editor, wraps your agent, and opens a before/after dashboard. Free verification (no API key): cd /your/repo && entroly verify-claims && entroly simulate. MCP users: entroly attach create --client claude --project . --ttl 4h --install (or entroly init for Cursor/VS Code). SDK users: from entroly import compress; compressed = compress(api_response, budget=2000). Proxy users: entroly proxy, then point ANTHROPIC_BASE_URL or OPENAI_BASE_URL at localhost:9377. Restore dropped content: entroly recover sha256:0b957c79... --out restored.. Troubleshooting: entroly doctor; check what applies to your setup: entroly capabilities.