Native context retrieval with Jev
Distill can now search stored tool outputs from the current session without asking the main model to reread every file. Call ask_stored_output with a question and omit path to search across those outputs. Supplying a path keeps the existing explicit-file workflow.
The search uses a local lexical index to find candidates, then asks Jev which excerpts to keep. Distill copies the selected text from the original output with source and line references. It does not rewrite earlier conversation messages.
Jev remains the only production decision model. Request size does not switch decisions to d1-ultra or another model. Existing disable controls and local fallback behavior remain available when Jev cannot return a valid selection. The d1 comparison is benchmark-only.
Storage and recovery
- Stored outputs belong to their sessions. Newly captured originals cannot be opened from an unrelated session through the recovery tool.
- Hook replacements are authoritative: Distill indexes the replacement rather than retaining the hidden original or following its artifact links.
- Search has explicit source, index, response and request limits. Large file and index operations run outside the async executor.
- Recovery results bypass further compression. Existing history stays unchanged so retrieval does not deliberately invalidate the earlier prompt prefix.
Measured Jev results
A completed controlled comparison ran 36 main-model calls and 24 auxiliary calls across local retrieval, Jev and d1-ultra. Each alternative answered the same three synthetic tasks in two trials, with a first turn and a repeated turn. The main model was xiaomi/mimo-v2.6-flash, pinned to Xiaomi's FP8 provider.
| Alternative | Retrieved evidence | Task-complete answers | Reported total cost |
|---|---|---|---|
| Local retrieval | 20/20 | 9/12 | $0.00903 |
| Jev | 16/20 | 8/12 | $0.00624 |
| d1-ultra, benchmark only | 20/20 | 9/12 | $0.04162 |
The Jev total includes $0.00306 in auxiliary charges. Jev's mean retrieval wall time was 1.42 seconds, compared with 87 ms for local retrieval. On repeated turns, 82.41% of Jev-arm main input tokens came from cache; first-turn calls reported no cache reads.
These results show a cost and quality tradeoff, not equal-quality savings. Jev omitted a required HTML heading in all four policy queries. Long-line coverage and the older explicit-path fallback also have limits documented in the retrieval report. The three-task comparison is not a full-agent benchmark or a general model ranking. Original outputs and explicit recovery remain important when an excerpt is incomplete.
Estimated costs with larger main models
The following projections reuse measured local/Jev prompt sizes and cache-read counts. Both sides use the same projected output-token count, and the Jev column includes measured auxiliary cost. Prices come from the public OpenRouter catalog on October 16, 2026. No new benchmarks were run on these three models.
Estimated cost per 1,000 similar retrieval queries:
| Main model | Local retrieval baseline | Jev-assisted retrieval | Estimated reduction |
|---|---|---|---|
| GPT-6.1-Sol | $11.58 | $5.10 | 55.9% |
| GPT-6-Astra | $59.46 | $25.24 | 57.6% |
| Claude Opus 5.5 | $23.17 | $9.95 | 57.0% |
The main model still answers the question. Jev selects evidence before that answer. These are API token-price estimates for the retrieval portion of a workload, not promised savings across a whole session or a subscription bill. They hold output at 1,298 tokens per 12 calls and exclude additional reasoning, explicit cache writes, retries and recovery turns. Tokenization and cache behavior can differ on each model.
Cache matters. With the same hypothetical 95% cache-read fraction in both alternatives, estimated reductions fall to 26.1% for GPT-6.1-Sol, 39.6% for GPT-6-Astra and 30.9% for Opus 5.5. Losing an existing cached prefix can change the result further.
Evidence and reproduction
- Retrieval architecture and benchmark commands
- Retrieval measurements and known limits
- Completed paired comparison
- Model cost assumptions, pricing and cache sensitivity
This release includes the production adapter, synthetic fixtures, retained billing reports and offline checks needed to inspect or reproduce the measurements.
Validation passed for the production shell compile check without benchmark features, 37 Python checks, 27 retrieval tests, 25 session-output tests, 8 storage tests, 8 native decision-tool tests, 19 client tests and 15 provider tests. Some Rust filters overlap; these are not unique-test totals. The full repository test suite was not run. The production compile check and retrieval tests also passed after integrating the current main branch.