# 05 — Current objective comparison (https://jackin.tailrocks.com/research/context/tools/05-head-to-head/)



## Summary [#summary]

No current tool dominates every boundary: Caveman best addresses visible output, RTK shell observations, Headroom broad reversible compression, and lean-ctx integrated retrieval and memory.
Cutoff: **2026-08-12**. This comparison uses only the current stable releases: Caveman v2.0.0, Headroom v0.34.0, RTK v0.45.0, and lean-ctx v3.9.18. It does not carry benchmark outcomes from superseded versions into current verdicts.

## Question and scope [#question-and-scope]

Which current tool best fits each interception boundary, and where does no tool have adequate outcome evidence?

## Method [#method]

The comparison holds releases to the shared cutoff and scores interception boundary, reversibility, recovery, evidence quality, self-cost, and operational ownership without importing older benchmark results.

## Findings [#findings]

### One-screen matrix [#one-screen-matrix]

| Axis                                     | Caveman v2.0.0                                  | Headroom v0.34.0                                | RTK v0.45.0                             | lean-ctx v3.9.18                                                     |
| ---------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------- |
| Product class                            | Output skill + input stack                      | Broad compression pipeline                      | Shell-output command proxy              | Integrated context runtime                                           |
| Output brevity                           | **Yes, first-class skill**                      | Optional verbosity steering                     | No                                      | Learned verbosity inside runtime; not a general response-style skill |
| Input compression                        | Type-routed engine/proxy/MCP                    | Type-routed + Kompress model                    | Supported shell commands only           | Reads, shell, search, history proxy                                  |
| Prevents broad reads                     | Partial through MCP/search paths                | Partial                                         | No                                      | **Yes: maps, signatures, graph, search, cached handles**             |
| Deterministic core                       | Yes                                             | Typed paths yes; Kompress path no               | **Yes, entirely**                       | Yes by default; optional adaptive/model surfaces                     |
| Exact recovery                           | CCR reference                                   | CCR reference / lossless seam                   | Raw rerun; no general content store     | Archive expansion / raw or bounded read                              |
| Cache posture                            | Skill neutral; input mode dependent             | Library/MCP narrower risk; proxy mode dependent | **Write-time safe by construction**     | MCP/hook safer; proxy mode dependent                                 |
| Native agent file tools                  | Only when routed through its surfaces           | Visible on wire/MCP                             | **Built-in Read/Grep/Glob bypass hook** | Central use case                                                     |
| History                                  | Proxy path                                      | Yes                                             | No                                      | Proxy + memory                                                       |
| Model in hot compression path            | No                                              | Kompress path yes                               | No                                      | No by default                                                        |
| Operational footprint                    | Skill small; full v2 stack adds proxy/MCP/store | Python/Rust/model/proxy/MCP/wrappers            | **Smallest: binary + hook**             | **Largest: daemon, DBs, MCP, hooks, proxy, dashboard**               |
| License today                            | MIT interfaces; BSL-1.1 engine-side             | Apache-2.0                                      | Apache-2.0                              | Apache-2.0                                                           |
| Current independent release-specific A/B | None found                                      | None found                                      | None found                              | None found                                                           |
| Strongest current evidence               | First-party v2 fixture benchmark                | Current mechanism/release evidence              | Current mechanism/release evidence      | Observational field report, exact version undisclosed                |

### Reach determines benefit [#reach-determines-benefit]

A tool can remove 90% of a payload and still save almost nothing if that payload is a small share of task tokens.

```text
net accepted-task effect
  = reachable token share
  × compression on that share
  − fixed prompt/schema/runtime overhead
  − extra turns, retries, raw recoveries, and cache loss
  ± quality-driven downstream work
```

This equation explains the objective ranking: there is no defensible tool order without a workload trace.

### Best tool by measured bottleneck [#best-tool-by-measured-bottleneck]

### Visible narration dominates [#visible-narration-dominates]

Start with the **Caveman skill**, not the full v2 stack. It directly changes the output register and adds the least machinery. Success means visible output falls while clarity, task acceptance, and user correction rate remain unchanged.

### Large JSON, logs, RAG, or history dominate [#large-json-logs-rag-or-history-dominate]

Start with **Headroom** when content-aware transforms and exact recovery matter. Its mature typed routing and CCR are better matched than RTK's shell boundary. Prefer selected library/MCP calls before a whole-request proxy.

### Supported shell output dominates fresh input [#supported-shell-output-dominates-fresh-input]

Start with **RTK**. It has the smallest trusted base and no model/schema overhead. First prove the agent actually uses eligible shell calls; native agent reads/search are outside current automatic reach.

### Repository traversal and repeated reads dominate [#repository-traversal-and-repeated-reads-dominate]

Start with **lean-ctx** or a narrower retrieval tool. Its maps, signatures, graph, search, and cached handles can prevent the broad read. This is a stronger architectural match than compressing a full file after reading it.

### Mixed tool output needs a new local deterministic engine [#mixed-tool-output-needs-a-new-local-deterministic-engine]

Trial **Caveman v2** against Headroom on the local payload mix. Caveman is newer, deterministic, and recoverable; Headroom is more mature and has wider deployment history. The current public evidence cannot choose for every workload.

### Safety comparison [#safety-comparison]

| Risk                           | Caveman                                    | Headroom                               | RTK                                        | lean-ctx                                |
| ------------------------------ | ------------------------------------------ | -------------------------------------- | ------------------------------------------ | --------------------------------------- |
| Omitted exact identifier       | Skill prose guards; v2 CCR                 | CCR retrieval                          | Raw rerun                                  | Expand/raw read                         |
| Silent parse/transform failure | v2 passes through                          | Multiple policy/shorter checks         | Per-filter isolation; command remains real | Raw/error escalation and mode controls  |
| Cache disruption               | Input proxy path must be tested            | Proxy path must be tested              | Low: write-time observation                | Proxy path must be tested               |
| Hook conflict                  | Current wrappers/hooks                     | Current wrappers and adjacent installs | Core installation surface                  | Many integrations and policies          |
| Supply-chain/runtime breadth   | Split-license monorepo                     | Python/Rust/model artifacts            | Smallest                                   | Broadest                                |
| Security-sensitive exact work  | Disable brevity/compression or recover raw | Recover raw                            | Rerun raw                                  | Full/bounded read + normal verification |

No lossy summary is authoritative. Tests prove system behavior; raw source proves exact text; compression counters prove neither.

### Objective strengths [#objective-strengths]

### Caveman [#caveman]

* Best output-control surface.
* New deterministic, type-aware input engine.
* Current shorter-only and recovery design is strong.
* Weakest point: v2 maturity and split BSL licensing.

### Headroom [#headroom]

* Best mature broad reversible input pipeline.
* Strongest deployment flexibility and typed payload coverage.
* Weakest point: runtime/installation complexity and absent current independent A/B.

### RTK [#rtk]

* Best minimal deterministic shell filter.
* Lowest machinery and clearest cache behavior.
* Weakest point: strict reach ceiling; current task-level benefit unproven.

### lean-ctx [#lean-ctx]

* Best integrated repository-context and read-prevention system.
* Unique combination of graph, memory, recovery, policy, and ledger.
* Weakest point: largest operational surface and difficult attribution.

### What “good” means for each [#what-good-means-for-each]

| Tool          | Keep it only if…                                                        | Reject it if…                                               |
| ------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------- |
| Caveman skill | Output drops and human clarity stays intact                             | Corrections/re-explanations erase the saving                |
| Caveman v2    | Fresh input per accepted task falls and CCR recovery works              | Wrapper/proxy overhead or recovery turns erase benefit      |
| Headroom      | Structured/history input falls after cache effects at unchanged quality | Latency, model/store overhead, or extra retrieval dominates |
| RTK           | Eligible shell output is material and turns/rereads do not rise         | Native tools or quiet commands dominate                     |
| lean-ctx      | Raw reads fall and edit correctness stays unchanged                     | Setup/runtime overhead exceeds avoided context              |

## Implications for jackin❯ [#implications-for-jackin]

### Composition verdict [#composition-verdict]

Use **one output layer plus, at most, one measured input/retrieval layer**. Caveman's skill is orthogonal to input tools. Caveman v2, Headroom, RTK, and lean-ctx overlap on observations. Blindly stacking them makes failures harder to recover and savings impossible to attribute.

Current recommendation:

1. retrieval or precise reads before lossy compression;
2. deterministic write-time compression before a global proxy;
3. reversible broad compression when the payload demands it;
4. output brevity as a separate, independently measured choice.

Next: [06 — Current rising tools and composition](/research/context/tools/06-combining/).

## Limitations and unknowns [#limitations-and-unknowns]

Tool behavior, releases, licenses, and outcome evidence can change; reverify the current version and integration boundary before adoption.

## Sources [#sources]

Evidence and repository references are cited inline beside the claims they support.

## Related work [#related-work]

* [Token-optimization tools dossier](/research/context/tools/)
* [Token-optimization techniques](/research/context/techniques/)
* [Context engine](/research/context/engine/)
