This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixed extraction of Ruby DSL conventions for module‑nested Rails controllers.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Fixes extraction of Ruby DSL conventions for module-nested classes in Rails controllers. Fixes extraction of Ruby DSL conventions for module-nested classes in Rails controllers. Source: llm_adapter@2026-07-20 Confidence: medium |
— |
Full changelog
Fixed
-
Ruby DSL conventions were silently dropped for module-nested classes -- the
standard Rails API layout (module Api; module V1; class UsersController).
_RUBY_DSL_CALL_REanchored on a literal two-space indent (^), so a class
body indented to 4 or 6 spaces by its module wrappers matched nothing, and
extract_method_call_conventionsreturned{}for the cohort. Controllers are
the most module-nested archetype in every Rails app, so the archetype that most
needsbefore_action/rescue_fromguidance got none: on a real Rails fixture
conventions.jsoncarriedmethod_callsfor model/service/serializer/query and
omittedcontrollerentirely. The class-contract pass compounds it by filtering
allowlisted macros out ofdsl_macroson the grounds that the Common DSL line
already covers them -- a line that never fired for nested classes.The extractor now prefers the parser's own
class_body_calls(recorded with the
enclosing class at any nesting depth, so indentation cannot fool it), keeping the
raw-bytes regex only as the fallback for a degraded or legacy profile, and that
fallback is corrected to any-indent (^[ \t]+) -- the formlint_engine's
_RUBY_DSL_REhad all along. Same intent, two regexes, one wrong.End-to-end: the 9 module-nested controllers now derive
{'common_top5': ['before_action'], 'sample_size': 9}(was{}); top-level
models are unchanged. Found by the full-matrix Rails column, then adversarially
verified -- which confirmed the outcome while REFUTING the reported mechanism
(the AST extractor handles nesting correctly at any depth; only this regex did not).
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]