This release includes breaking changes for platform teams planning a safe upgrade.
Published 1mo
Developer Productivity
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
ai-coding-assistant
archetype
ast-analysis
claude-code
claude-plugin
code-conventions
+12 more
code-review
code-style
developer-tools
javascript
linter
mcp
mcp-server
prompt-engineering
python
ruby
rails
typescript
Summary
AI summaryFixed telemetry over‑counting, bounded duplication index build, improved idiom ordering, added Python support to existence advisory.
Full changelog
A round of relevance and cross-language fixes from a real-usage assessment on a
Rails monolith.
Changed
- Team idioms are ordered by the edited file's archetype.
idioms.mdis a
sequence of### <name>blocks each taggedArchetype: <name>, but the
per-edit context (and the turn-end self-review nudge) cap the text by taking
its top — so a controller edit got whichever idioms sit at the top of the
file, often an unrelated archetype's, with the relevant one truncated away.
Both paths now reorder the blocks first: the edited archetype's idioms, then
untagged/general, then others (stable, nothing dropped). A controller edit now
surfaces the controller idioms instead of losing them behind the model idiom.
Added
- Cross-file existence advisory now covers Python. The Stop "a removed
export still has importers" advisory ran only for TypeScript even though the
reverse index spans the Python module graph too. Python modules are now
checked, using the Python export reader (not the TS one). Ruby stays excluded
(no static named-export surface — a Ruby constant-reference graph is separate
future work).
Fixed
- Degraded-telemetry no longer over-counts a single burst. A broken session
emits many identical degradation lines at one timestamp; these were counted
per-line, so one incident read as chronic. A contiguous run of identical
same-second entries now collapses to one incident (distinct timestamps stay
distinct). - Duplication index build is bounded.
build_candidate_indexre-parsed every
session file unbounded on a long edit turn; it now caps to the most-recently
edited files (CHAMELEON_DUPLICATION_INDEX_MAX_FILES, default 40) and logs
what it dropped. - Idiom novelty gate recognizes preferred-import restatements. An idiom that
merely restated an already-derived preferred-import convention passed as
"novel"; the coverage gate now has acovered-by-preferred-importcheck
(archetype-scoped, basename-matched to avoid false positives on common module
names). - No parser jargon or JS-isms in Ruby/Python lint messages. Wording like
"default export ClassNode" leaked into non-JS output; node kinds are now
humanized through a shared label map and the export phrasing is language-aware
(dropped entirely for Ruby/Python).
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]