Skip to content

Chameleon

v4.4.44 Bugfix

This release fixes issues for SREs watching stability and regressions.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ 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 summary

Fixed Python src-layout package collapsing that merged all layers into a single archetype.

Changes in this release

Bugfix Medium

Fixes Python src-layout package bucketing regression.

Fixes Python src-layout package bucketing regression.

Source: llm_adapter@2026-07-20

Confidence: medium

Full changelog

Fixed

  • Python src-layout packages collapsed every layer into one archetype, the same
    defect v4.4.39 fixed for RubyGems. PyPA's src/<pkg>/<layer>/ is the Python
    twin of lib/<gem>/<layer>/: src/ is the source root, <pkg> is the
    distribution package, and its subdirectories are the layers. At the default
    bucket depth the layer fell into sub_bucket, so handlers, clients,
    repositories and workers all bucketed to a single src/<pkg> cluster and
    no per-role convention could clear its dominance floor -- inheritance derived
    to {} on a repo where 7/7 files in a layer share a base class, which in turn
    left inheritance-convention-violation unable to fire there at all.

    The package-root rule is now keyed by (root, extension) -- lib/ + .rb and
    src/ + .py -- rather than hardcoding Ruby. Still scoped by extension
    deliberately: src/ in a JS/TS repo is a feature-layout root, and bucketing
    those at depth 3 would re-fragment their cohorts.

    Measured on the fixture: 4 archetypes -> 9, inheritance from {} to four
    derived bases (BaseRepository, Handler, BaseClient, BaseWorker) and
    class_contract from 1 archetype to 5. Regression-isolated by re-bootstrapping
    all TEN fixture repos with the change stashed: only py-plain moves; the other
    nine (py-django, py-flask, py-fastapi, py-drf, rb-plain, rb-rails, ts-plain,
    ts-nestjs, ts-nextjs) are byte-identical.

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

Track Chameleon

Get notified when new releases ship.

Sign up free

About Chameleon

All releases →

Related context

Earlier breaking changes

  • v3.0.0 MCP surface folded from 48 tools to 19; remaining 32 operator tools become actions on three dispatchers.

Beta — feedback welcome: [email protected]