This release fixes issues for SREs watching stability and regressions.
Published 6d
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 missing canonical witness in idiomatic RSpec specs lacking a top‑level require.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Fixes missing witness in idiomatic RSpec specs lacking explicit require. Fixes missing witness in idiomatic RSpec specs lacking explicit require. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
Full changelog
Fixed
- An idiomatic RSpec spec now yields a canonical witness. A spec's only top-level node is
RSpec.describe … do, becauserspec --initwrites.rspecwith--require spec_helperand the
file then carries no top-level require. The Ruby dimension extractor recognized only
class/module/def/require, so such a spec reportedtop_level_node_kinds == [], canonical
selection scored every membertrivial, and the test archetype shipped witnessless -- losing the
per-edit exemplar for essentially every idiomatic RSpec gem. Measured on a paired A/B differing by
exactly onerequire "spec_helper"line: bare gavewitness=[]and 657 B of per-edit context
with no witness block; with-require gave a witness and 1,067 B including it. A top-level receiver
call opening a block (do/{) now counts as aCallNode, so both spellings produce the same
signature. The block opener is required, so an ordinary top-level statement (puts x, a bare
Foo.bar) still does not read as a declaration.
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]