# Changelog

## Score

- CAI 41 → 30 (-11.6)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 21 → 25 (+4.7)
- Maturity 61 → 63 (+1.8)
- Readiness 48 → 20 (-27.8)
- Security 69 → 50 (-18.6)

## Resolved (192)

- (anonymous) (cognitive 115) (cli/engine/engines/static-html/css-cascade.mjs)
- (anonymous) (cognitive 21) (cli/engine/detect-antipatterns-browser.js)
- (anonymous) (cognitive 24) (cli/engine/engines/static-html/css-cascade.mjs)
- (anonymous) (cognitive 37) (cli/engine/browser/injected/index.mjs)
- (anonymous) (cognitive 37) (cli/engine/detect-antipatterns-browser.js)
- (anonymous) (cyclomatic 22) (cli/engine/detect-antipatterns-browser.js)
- Change coupling: antipatterns.mjs ↔ checks.mjs (cli/engine/registry/antipatterns.mjs)
- Change coupling: detect-html.mjs ↔ antipatterns.mjs (cli/engine/engines/static-html/detect-html.mjs)
- Change coupling: index.mjs ↔ antipatterns.mjs (cli/engine/browser/injected/index.mjs)
- Change coupling: index.mjs ↔ checks.mjs (cli/engine/browser/injected/index.mjs)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- FileTooLong: live/svelte-ast.mjs (plugin/skills/impeccable/scripts/live/svelte-ast.mjs)
- Hotspot: cli/engine/browser/injected/index.mjs (cli/engine/browser/injected/index.mjs)
- Hotspot: cli/engine/cli/main.mjs (cli/engine/cli/main.mjs)
- Hotspot: cli/engine/engines/browser/detect-url.mjs (cli/engine/engines/browser/detect-url.mjs)
- Hotspot: cli/engine/engines/regex/detect-text.mjs (cli/engine/engines/regex/detect-text.mjs)
- Hotspot: cli/engine/engines/static-html/css-cascade.mjs (cli/engine/engines/static-html/css-cascade.mjs)
- Hotspot: cli/engine/engines/static-html/detect-html.mjs (cli/engine/engines/static-html/detect-html.mjs)
- Hotspot: tests/live-e2e/agent.mjs (tests/live-e2e/agent.mjs)
- …and 172 more

## New (120)

- (anonymous) (cognitive 123) (cli/engine/engines/static-html/css-cascade.mjs)
- (anonymous) (cognitive 25) (cli/engine/engines/static-html/css-cascade.mjs)
- (anonymous) (cognitive 38) (cli/engine/browser/injected/index.mjs)
- Boundary-crossing change coupling: impeccable-config.mjs ↔ hook-lib.mjs (cli/lib/impeccable-config.mjs)
- Boundary-crossing change coupling: serve-question.mjs ↔ serve-question.mjs (.grok/skills/impeccable/scripts/serve-question.mjs)
- Boundary-crossing change coupling: serve-question.mjs ↔ serve-question.mjs (.kiro/skills/impeccable/scripts/serve-question.mjs)
- Dimension evaluation failed
- FileTooLong: agents/llm-agent.mjs (tests/live-e2e/agents/llm-agent.mjs)
- FileTooLong: devtools/panel.js (extension/devtools/panel.js)
- FileTooLong: injected/index.mjs (cli/engine/browser/injected/index.mjs)
- FileTooLong: lib/impeccable-config.mjs (cli/lib/impeccable-config.mjs)
- FileTooLong: live-e2e/agent.mjs (tests/live-e2e/agent.mjs)
- FileTooLong: live-e2e/ui.mjs (tests/live-e2e/ui.mjs)
- FileTooLong: tests/detect-antipatterns.test.js (tests/detect-antipatterns.test.js)
- FileTooLong: tests/doctor.test.mjs (tests/doctor.test.mjs)
- FileTooLong: tests/github-sheriff.test.mjs (tests/github-sheriff.test.mjs)
- FileTooLong: tests/hook.test.mjs (tests/hook.test.mjs)
- FileTooLong: tests/live-commit-manual-edits.test.mjs (tests/live-commit-manual-edits.test.mjs)
- FileTooLong: tests/live-e2e-llm-agent.test.mjs (tests/live-e2e-llm-agent.test.mjs)
- FileTooLong: tests/live-e2e.test.mjs (tests/live-e2e.test.mjs)
- …and 100 more

## Changes since last survey

- 52 commits — 41 feature/other, 11 fixes

## By area

- skill/scripts — 16 commits
- .agents/skills — 15 commits
- cli/engine — 5 commits
- (root) — 4 commits
- skill/reference — 3 commits
- scripts/lib — 2 commits
- .claude/settings.json — 1 commit
- .claude/skills — 1 commit
- cli/bin — 1 commit
- cli/lib — 1 commit
- plugin/.claude-plugin — 1 commit
- scripts/build-browser-detector.js — 1 commit
- scripts/build.js — 1 commit

## Notable commits

- fix: Fix Blade files in directory detection (#509)
- fix: Fix Codex pinned skill frontmatter (#519)
- fix: Fix Windows question browser opening (#510)
- fix: Fix broken-image findings in source comments (#490)
- fix: Fix ignore-file flag handling
- fix: Fix: keep the node runtime probe clear of cmd.exe metacharacters (#458)
- fix: Fix: skip POSIX hook guard on Windows installs (#452) (#453)
- fix: Fix: unescape YAML quote escapes in DESIGN.md frontmatter scalars (#473)
- fix: Merge pull request #487 from pbakaus/fix/475-drop-craft-from-hint
- fix: fix: stop emitting the "agents" key so the four subagents actually load (#494)
- fix: 🐛 Fix DESIGN.md Layout and Shapes parsing (#481)
- change: Bump @babel/parser to 8.0.4 and raise Node floor (#430)
- change: Bump the bun-minor-and-patch group with 5 updates (#489)
- change: Centralize critique snapshot reading (#511)
- change: Comp outranks the brief: close the inventory sandbagging gap
- change: Craft floor: theme the surfaces you did not draw
- change: Document ignore-file scope flags
- change: Drop deprecated craft alias from the generated argument-hint
- change: Flatten the challenger draw so the same worlds stop coming back
- change: Gracefully handle the no-image decision page (#502)
- …and 32 more
