This release fixes issues for SREs watching stability and regressions.
Published 19d
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 summaryRefresh now repairs stale-schema generated indexes instead of preserving them as no‑ops.
Full changelog
Fixed
- Refresh now repairs a stale-schema generated index instead of noop-preserving
it forever. The repair predicate (_profile_needs_rederive) validated the
four generated indexes (calls_index.json,function_catalog.json,
symbol_signatures.json,counterexamples.json) as parseable JSON objects
only, but each loader hard-rejects a foreignschema_version— so an index
left behind by an older engine (e.g. a pre-v2.41calls_indexat schema 1)
read as "healthy" to refresh while every consumer silently got zero facts:
judge caller grounding, the duplication prefilter,get_callers
(calls-index-stale), and the cross-file checks. Doctor detected the state
andget_callerssaid "run /chameleon-refresh", but the recommended refresh
noop-preserved the damage — a detect-recommend-repair loop with the repair
missing. The predicate now mirrors each loader's own schema gate via its
exported constant (counterexamples honors its readable-legacy set, so a v1
file that still loads is not flagged), so a future schema bump propagates
automatically. Found by the Ruby QA battery against a real pre-v2.41 fixture;
verified end-to-end: the same refresh that previously nooped now re-derives
and the battery went 65/66 to 66/66.
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]