This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryAdded per-call response_format control to three read tools, pagination for search_codebase, and a wire‑size regression guard.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds per-call `response_format` option (concise|detailed) to three read tools. Adds per-call `response_format` option (concise|detailed) to three read tools. Source: llm_adapter@2026-07-17 Confidence: high |
— |
| Feature | Medium |
Adds `offset` pagination to `search_codebase` with deterministic ranking and `next_offset`. Adds `offset` pagination to `search_codebase` with deterministic ranking and `next_offset`. Source: llm_adapter@2026-07-17 Confidence: high |
— |
| Performance | Low |
Introduces wire-size regression guard limiting fixture responses, help outputs, and tool descriptions to ~1.5× measured size. Introduces wire-size regression guard limiting fixture responses, help outputs, and tool descriptions to ~1.5× measured size. Source: llm_adapter@2026-07-17 Confidence: high |
— |
| Bugfix | Medium |
Fixes unknown `response_format` echo truncation to 40 chars and sanitizes note. Fixes unknown `response_format` echo truncation to 40 chars and sanitizes note. Source: llm_adapter@2026-07-17 Confidence: high |
— |
Full changelog
Added
- Per-call
response_format("concise" | "detailed", default detailed) on the
three fattest read tools, per the tool-writing guidance's response-format
pattern:search_codebaseconcise keeps name/file/line per row (-62%
measured),describe_codebaseconcise keeps each archetype's
name/size/witness + top 5 god symbols (-54%), and
get_duplication_candidatesconcise names candidates without reading any
body excerpt (-61%). An unknown value falls back to detailed with a note --
a typo never fails a read. search_codebasepagination:offsetpages the same deterministic ranking
(clamped toCOMPREHEND_SEARCH_MAX_OFFSET, default 500); while more matches
remain the response carriesnext_offsetand the truncation note names the
exact re-call. A past-the-end page returns empty results, found stays true,
and the note says the ranking ended (never the false "No symbol matched").- Wire-size regression guard (
tests/unit/test_wire_budgets.py): pinned
ceilings (~1.5x measured) on fixture responses, the help outputs, every
tool description vs the 2KB truncation ceiling, and the total tools/list
schema -- an accidental pretty-print or payload-duplication regression now
fails CI instead of silently re-inflating every session.
Fixed
- The unknown-
response_formatecho is bounded to 40 chars and sanitized
before reflection into the response note (a model-supplied megastring or
tag-boundary token no longer reaches the payload verbatim), and that note
survives alongside the empty-result guidance instead of being overwritten.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Chameleon
All releases →Beta — feedback welcome: [email protected]