This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixed incorrect cluster naming for NestJS *.repository.ts files and prevented false-positive Python line‑length enforcement when E501 is ignored.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Corrects NestJS archetype naming drift caused by mismatched suffix tables. Corrects NestJS archetype naming drift caused by mismatched suffix tables. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Medium |
Prevents Python line‑length enforcement from false‑positively flagging lines when root ruff config opts out of E501. Prevents Python line‑length enforcement from false‑positively flagging lines when root ruff config opts out of E501. Source: llm_adapter@2026-07-19 Confidence: high |
— |
Full changelog
Fixed
- NestJS archetype naming drifted from the clustering that produced the cluster:
a*.repository.ts(or*.dto.ts/*.entity.ts/*.interceptor.ts/ ...)
cohort was correctly role-bucketed bysignatures._NESTJS_ROLE_SUFFIXES(fifteen
roles) but the_TS_PRIORSnaming table hardcoded only six suffixes, so a
feature-co-located*.repository.tscohort (one per feature dir, no dominant
directory) fell through to a meaninglesscluster-<hash>name..dto.ts/
.entity.tssurvived only by luck of directory layout (a shareddto//
entities/dir). The naming table's suffix priors are now generated from the
SAME_NESTJS_ROLE_SUFFIXESmap, so the two can never diverge again, with a
guard test asserting parity. Surfaced by the step-7 fresh-repo re-verification
on an idiomatic per-feature NestJS layout. - Python line-length enforcement no longer false-positives on a mixed per-app
E501 layout. When a repo's root ruff config opts out of E501 (the common
line-length = N+ignore = ["E501"]"format toward N, don't fail on length"
pattern),_read_python_formatcorrectly dropsline_length-- but that left
the derivedfmtempty, indistinguishable from "root declared no config", so
thescan_subdirsfallback (meant only for a config-less root) resurrected an
enforcing sibling app'sline_lengthrepo-wide and flagged every long line in
the E501-ignoring apps. The fallback is now gated on the root having declared no
ruff/black config at all, not on the derivedfmtbeing empty, so an explicit
root opt-out is authoritative. Surfaced by the step-7 fresh-repo re-verification
on a mixed-config Django repo.
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]