# Changelog

## Score

- CAI 51 → 26 (-25.6)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 58 → 53 (-5.2)
- Architecture 51 → 47 (-3.9)
- Maturity 72 → 59 (-12.9)
- Readiness 47 → 14 (-32.2)
- Security 54 → 20 (-33.8)

## Resolved (20)

- Boundary-crossing change coupling: details-renderer.js ↔ audit-details.d.ts (report/renderer/details-renderer.js)
- Boundary-crossing change coupling: main.js ↔ treemap.d.ts (treemap/app/src/main.js)
- Change coupling clique: navigation-runner.js, snapshot-runner.js, timespan-runner.js (core/gather/navigation-runner.js)
- Change coupling: constants.js ↔ settings.d.ts (core/config/constants.js)
- Change coupling: lr-desktop-config.js ↔ lr-mobile-config.js (core/config/lr-desktop-config.js)
- Change coupling: main.js ↔ treemap.d.ts (treemap/app/src/main.js)
- Change coupling: timing-summary.js ↔ artifacts.d.ts (core/computed/metrics/timing-summary.js)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- FileTooLong: src/main.js (treemap/app/src/main.js)
- Further orphaned files (smaller)
- Further sole-owners (lower concentration)
- Off-boarding risk: anonymized user #1
- Off-boarding risk: anonymized user #2
- PR-triggered workflow without a permissions block
- Scanner failed to run — not a clean result
- Secret: gcp-api-key (lighthouse-viewer/app/src/psi-api.js)
- Secret: gcp-api-key (viewer/app/src/firebase-auth.js)
- Secret: generic-api-key (lighthouse-viewer/app/src/firebase-auth.js)
- Secret: generic-api-key (lighthouse-viewer/app/src/main.js)

## New (135)

- (anonymous) (cognitive 16) (core/audits/non-composited-animations.js)
- (anonymous) (cognitive 19) (report/renderer/explodey-gauge.js)
- (anonymous) (cyclomatic 16) (report/renderer/explodey-gauge.js)
- Change coupling: app.tsx ↔ util.ts (flow-report/src/app.tsx)
- Change coupling: common.tsx ↔ summary.tsx (flow-report/src/common.tsx)
- Change coupling: create-polyfill-size-estimation.js ↔ run.js (core/scripts/legacy-javascript/create-polyfill-size-estimation.js)
- Change coupling: default-config.js ↔ experimental-config.js (core/config/default-config.js)
- Change coupling: default-config.js ↔ generate-insight-audits.js (core/config/default-config.js)
- Change coupling: filters.js ↔ base-artifacts.js (core/config/filters.js)
- Change coupling: layout-shifts.js ↔ trace-elements.js (core/audits/layout-shifts.js)
- Change coupling: main.js ↔ util.js (treemap/app/src/main.js)
- Change coupling: sidebar.tsx ↔ util.ts (flow-report/src/sidebar/sidebar.tsx)
- Change coupling: util.ts ↔ report.tsx (flow-report/src/util.ts)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (core/scripts/legacy-javascript/yarn.lock)
- Critical CVE: [GHSA redacted] (core/scripts/legacy-javascript/yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (core/scripts/legacy-javascript/yarn.lock)
- …and 115 more
