This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixed docs/config‑only turns from incorrectly triggering Stop idiom review and added language‑scoped filtering.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Durable off‑switch for idiom_review added to .chameleon/config.json. Durable off‑switch for idiom_review added to .chameleon/config.json. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Bugfix | Medium |
Docs/config‑only turns no longer trigger the Stop idiom review. Docs/config‑only turns no longer trigger the Stop idiom review. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Bugfix | Medium |
Language‑scoped idiom filtering now drops idioms for unrecognized languages during Stop review. Language‑scoped idiom filtering now drops idioms for unrecognized languages during Stop review. Source: llm_adapter@2026-07-13 Confidence: low |
— |
| Bugfix | Low |
Language‑scoped filtering drops idioms whose language does not match edited files during Stop review. Language‑scoped filtering drops idioms whose language does not match edited files during Stop review. Source: granite4.1:30b@2026-07-13-audit Confidence: low |
— |
Full changelog
Field feedback: the turn-end Stop idiom self-review read as a recurring "hook
flood" — it re-fired in every new chat, and a docs-only turn (the
/chameleon-init CLAUDE.local.md consent edit itself) dumped EVERY team idiom
at full text because nothing scoped it.
Fixed
- Docs/config-only turns no longer trigger the Stop idiom review. The gate
treated every recorded edited file as idiom-governed, so a turn that touched
onlyCLAUDE.local.md(or any markdown/config file) resolved zero archetypes
and the renderer's cannot-scope fallback dumped the full text of every
not-yet-seen idiom — including aLanguage: rubyservice idiom for a
markdown edit. A file now counts as idiom-governed only when
detect_languagerecognizes it, with a notebook.ipynbcounting as python
source (it keeps its review and now participates in the test-run nudge like
any python file); a turn with no governed file skips the review (check-event
reasonno_governed_files) without burning the once-per-session marker.
_idiom_review_gateinhook_helper.py. - Language-scoped idiom filtering at the Stop review. An idiom whose
Language:tag names a recognized language (typescript/ruby/python)
the turn did not edit is dropped from the review; untagged,Language: any,
and unrecognized tags fail open to shown, and only the metadata region
before the first fence is sniffed (aLanguage:line inside a fenced
example is example code). Composes with the existing archetype filter, so a
mixed-language repo's review no longer dumps other-language idioms when
archetype resolution comes up empty. In a single-profile repo with a
declared secondary language (language_hint.secondary_detected, the
rails-with-frontend shape) the primary-language tag cannot discriminate —
teach stamps every idiom with the profile's primary language — so
primary-tagged idioms are never language-dropped there.
_render_stop_idiomsintools.py,_idiom_review_gatein
hook_helper.py.
Changed
- The durable off-switch is now discoverable where the pain is. The
enforce-mode block message names.chameleon/config.json
"enforcement": {"idiom_review": false}(per-repo, committed → team-wide,
survives new chats) alongside the existing inline-ignore hint; the
/chameleon-disableskill gained a "Silencing ONE surface durably" section
(idiom_review: false,stop_backstop: false,stop_block_cap: 0) and
routes the recurring-Stop-text complaint to the config key instead of a
session-only disable; architecture.md and the env-vars reference document
the same path.
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]