# Changelog

> **This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.**

## Score

- CAI 29 → 32 (+3.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 33 → 34 (+0.2)
- Architecture 63 → 62 (-1.2)
- Maturity 77 → 77 (-0.3)
- Readiness 18 → 16 (-1.1)
- Security 31 → 52 (+21.5)
- Performance 60 (new)

## Resolved (117)

- Boundary-crossing change coupling: providers.js ↔ AddApiKeyModal.js (open-sse/config/providers.js)
- Boundary-crossing change coupling: usage.js ↔ utils.js (open-sse/services/usage.js)
- Change coupling: MitmServerCard.js ↔ route.js (src/app/(dashboard)/dashboard/cli-tools/components/MitmServerCard.js)
- Change coupling: providerModels.js ↔ pricing.js (open-sse/config/providerModels.js)
- Change coupling: route.js ↔ server.js (src/app/api/cli-tools/antigravity-mitm/route.js)
- CodexExecutor.transformRequest (cognitive 25) (open-sse/executors/codex.js)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Hotspot: cli/src/cli/menus/providers.js (cli/src/cli/menus/providers.js)
- Hotspot: open-sse/config/kiroConstants.js (open-sse/config/kiroConstants.js)
- Hotspot: open-sse/executors/codebuddy-cn.js (open-sse/executors/codebuddy-cn.js)
- Hotspot: open-sse/executors/devin-cli.js (open-sse/executors/devin-cli.js)
- Hotspot: open-sse/executors/grok-cli.js (open-sse/executors/grok-cli.js)
- Hotspot: open-sse/executors/grok-web.js (open-sse/executors/grok-web.js)
- Hotspot: open-sse/executors/perplexity-web.js (open-sse/executors/perplexity-web.js)
- …and 97 more

## New (179)

- (anonymous) (cognitive 19) (src/app/(dashboard)/dashboard/providers/[id]/page.js)
- (anonymous) (cyclomatic 19) (src/app/(dashboard)/dashboard/providers/[id]/page.js)
- Boundary-crossing change coupling: MitmToolCard.js ↔ manager.js (src/app/(dashboard)/dashboard/cli-tools/components/MitmToolCard.js)
- Change coupling: MitmServerCard.js ↔ MitmToolCard.js (src/app/(dashboard)/dashboard/cli-tools/components/MitmServerCard.js)
- Change coupling: opencode-go.js ↔ opencode-go.js (open-sse/executors/opencode-go.js)
- Change-coupling hub: route.js → MitmServerCard.js, MitmToolCard.js, server.js (src/app/api/cli-tools/antigravity-mitm/route.js)
- ClassTooLong: CodexToolCard (src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js)
- ClassTooLong: GenericCliToolCard (src/app/(dashboard)/dashboard/cli-tools/components/GenericCliToolCard.js)
- CodeBuddyExecutor.parseError (cognitive 30) (open-sse/executors/codebuddy-cn.js)
- CodeBuddyIntlExecutor.parseError (cognitive 30) (open-sse/executors/codebuddy-intl.js)
- CombosPage (cyclomatic 78) (src/app/(dashboard)/dashboard/combos/page.js)
- CustomConfigCard.CustomConfigCard (cognitive 25) (src/app/(dashboard)/dashboard/providers/[id]/CustomConfigCard.js)
- CustomConfigCard.CustomConfigCard (cyclomatic 27) (src/app/(dashboard)/dashboard/providers/[id]/CustomConfigCard.js)
- FileTooLong: components/CodexToolCard.js (src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js)
- FileTooLong: components/GenericCliToolCard.js (src/app/(dashboard)/dashboard/cli-tools/components/GenericCliToolCard.js)
- FunctionTooLong: CustomConfigCard.CustomConfigCard (src/app/(dashboard)/dashboard/providers/[id]/CustomConfigCard.js)
- FunctionTooLong: GenericCliToolCard.GenericCliToolCard (src/app/(dashboard)/dashboard/cli-tools/components/GenericCliToolCard.js)
- FunctionTooLong: ZedAuthModal.ZedAuthModal (src/shared/components/ZedAuthModal.js)
- FunctionTooLong: geminiLiveStt.transcribeGeminiLive (open-sse/handlers/geminiLiveStt.js)
- FunctionTooLong: page.CapacityAdapterCap (src/app/(dashboard)/dashboard/combos/page.js)
- …and 159 more

## Changes since last survey

- 150 commits — 65 feature/other, 85 fixes

## By area

- open-sse/providers — 36 commits
- src/app — 24 commits
- open-sse/translator — 18 commits
- (root) — 12 commits
- open-sse/executors — 11 commits
- src/shared — 9 commits
- tests/unit — 9 commits
- open-sse/utils — 6 commits
- open-sse/services — 5 commits
- open-sse/config — 4 commits
- src/lib — 4 commits
- open-sse/handlers — 3 commits
- tests/translator — 3 commits
- .github/issue-assets — 1 commit
- .github/workflows — 1 commit
- cli/README.md — 1 commit
- cli/src — 1 commit
- public/i18n — 1 commit
- public/providers — 1 commit

## Notable commits

- fix: fix(antigravity): drop requestType "agent" to avoid false 429 RESOURCE_EXHAUSTED
- fix: fix(antigravity): rewrite all Hermes identity variants, not just the legacy sentence
- fix: fix(antigravity): sanitize Hermes system identity
- fix: fix(antigravity): scope cached thought signatures to the model family
- fix: fix(antigravity): separate weekly and short-window quotas and clean up redundant rows
- fix: fix(antigravity): strip Claude Code billing header from system prompts
- fix: fix(auth): don't cool down an account for a request-scoped 4xx
- fix: fix(capabilities): add deepseek-v4-1-flash vision alias; fix(modal): add zed to live catalog providers
- fix: fix(capabilities): publish real GPT-6/GPT-5.4+ context windows and combo token limits
- fix: fix(capabilities): stop caching the catalog source per module copy (#4351)
- fix: fix(claude): cache a tool loop's final tool results with the 4th breakpoint
- fix: fix(claude): decloak tool names when toolNameMap misses (#4342)
- fix: fix(claude): inject unsigned thinking placeholders for opencode-go DeepSeek /messages (#4436)
- fix: fix(claude): keep a trailing user turn so cleanup never yields assistant prefill
- fix: fix(claude): preserve intentional prefill from non-messages[] source formats
- fix: fix(claude): resolve Sonnet 5.x to adaptive thinking so no forged thinking placeholders are sent
- fix: fix(claude): update spoofed cli version to 2.1.280 to support Opus 5.5
- fix: fix(cli): filter model selector by active connections and noAuth providers
- fix: fix(cli-tools): keep existing ANTHROPIC_AUTH_TOKEN when applying Claude settings
- fix: fix(cli-tools): refresh Codex settings after apply (#4347)
- …and 130 more
