# Changelog

## Score

- CAI 77 → 77 (-0.0)

## Lenses

- Code Health 78 → 78 (-0.1)
- Architecture 99 → 99 (+0.0)
- Maturity 80 → 80 (-0.0)
- Readiness 81 → 81 (+0.0)
- Security 91 → 91 (-0.5)
- Domain Modelling 100 → 100 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
- Accessibility 73 → 73 (+0.0)
- Performance 86 → 86 (+0.0)

## Resolved (43)

- ClassTooLong: DiskSourceFiles (engine/src/CodeHealth.Core/Scoring/DiskSourceFiles.cs)
- ClassTooLong: FrontendDeadCode (engine/src/CodeHealth.Core/Frontend/FrontendDeadCode.cs)
- ClassTooLong: FrontendTestReachability (engine/src/CodeHealth.Core/Frontend/FrontendTestReachability.cs)
- CommittedCoverageReader.ParseIstanbulJson (cognitive 20) (engine/src/CodeHealth.Core/Testing/CommittedCoverageReader.cs)
- CommittedCoverageReader.ParseIstanbulJson (cyclomatic 23) (engine/src/CodeHealth.Core/Testing/CommittedCoverageReader.cs)
- DirectoryBarrelRefs.Collect (cognitive 19) (engine/src/CodeHealth.Core/Frontend/DirectoryBarrelRefs.cs)
- Documentation: no contributor guidance (README.md)
- Documentation: written for insiders (engine/sidecars/ruby-frontend/README.md)
- Documentation: written for insiders (engine/sidecars/scala-frontend/README.md)
- Duplicated block (12 lines × 2) (engine/src/CodeHealth.Core/Frontend/JsComplexity.cs)
- Duplicated block (14–20 lines × 2) (engine/src/CodeHealth.Dimensions.CodeQuality/Complexity/CognitiveComplexityAnalyzer.cs)
- Duplicated block (15 lines × 2) (engine/src/CodeHealth.Core/Readiness/ProductionReadinessAnalyzer.cs)
- Duplicated block (21 lines × 2) (engine/src/CodeHealth.Core/Testing/JsTestCensus.cs)
- Duplicated block (6 lines × 3) (engine/src/CodeHealth.Dimensions.CodeQuality/CodeShape/GodClassAnalyzer.cs)
- Duplicated block (6 lines × 4) (engine/src/CodeHealth.Core/Readiness/ProductionReadinessAnalyzer.cs)
- Duplicated block (6 lines × 4) (engine/src/CodeHealth.Dimensions.Architecture/CohesionAnalyzer.cs)
- Duplicated block (6 lines × 4) (engine/src/CodeHealth.Dimensions.Security/Scanners/NamespaceScopedRuleAggregator.cs)
- Duplicated block (8 lines × 3) (engine/src/CodeHealth.Core/Readiness/ProductionReadinessAnalyzer.cs)
- Duplicated block (9 lines × 2) (engine/src/CodeHealth.Core/CodeShape/RoslynDuplicationDetector.cs)
- Duplicated block (9 lines × 2) (engine/src/CodeHealth.Core/Readiness/ProductionReadinessAnalyzer.cs)
- …and 23 more

## New (166)

- AccessibilityAnalyzer.CountUnreadHtmlStringMarkup (cognitive 17) (engine/src/CodeHealth.Core/ModelAware/AccessibilityAnalyzer.HtmlStringBlindness.cs)
- AccessibilityAnalyzer.CountUnreadTemplateMarkup (cyclomatic 18) (engine/src/CodeHealth.Core/ModelAware/AccessibilityAnalyzer.TaggedTemplateBlindness.cs)
- AstroMarkupProducer.NextRawTextOpen (cognitive 16) (engine/src/CodeHealth.Core/Markup/AstroMarkupProducer.cs)
- BuildlessCSharpProjects.Build (cognitive 19) (engine/src/CodeHealth.Core/Roslyn/BuildlessCSharpProjects.cs)
- CommittedCoverageReader.ParseJsonCoverage (cognitive 21) (engine/src/CodeHealth.Core/Testing/CommittedCoverageReader.cs)
- CommittedCoverageReader.ParseJsonCoverage (cyclomatic 24) (engine/src/CodeHealth.Core/Testing/CommittedCoverageReader.cs)
- CoverageAnalyzer.PolyglotUnmeasured (cyclomatic 16) (engine/src/CodeHealth.Dimensions.Testing/CoverageAnalyzer.cs)
- DemotedWarningsAsErrors (tools/train/backlog-sessions/01a0711e-ee78-732a-9fcd-2b9927957dd6/harness/d35replay.csproj)
- DemotedWarningsAsErrors (tools/train/backlog-sessions/01a071a1-6fdf-7a1c-99d4-430f6bdb4599/harness/r10replay.csproj)
- DemotedWarningsAsErrors (tools/train/backlog-sessions/01a09e20-5cea-736e-967d-bc957889e676/harness/r10replay.csproj)
- DemotedWarningsAsErrors (tools/train/backlog-sessions/01a09e22-7957-7dd1-8c61-e313dbdb17fb/harness/sizeprobe.csproj)
- DependencyVulnerabilityUnion.CollapsePerPackage (cognitive 21) (engine/src/CodeHealth.Dimensions.Security/DependencyVulnerabilityUnion.cs)
- DirectoryBarrelRefs.CollectEdges (cognitive 20) (engine/src/CodeHealth.Core/Frontend/DirectoryBarrelRefs.cs)
- Documentation: no architecture or design documentation (README.md)
- Documentation: no licence statement (README.md)
- Duplicated block (10 lines × 2) (engine/src/CodeHealth.Dimensions.Security/DependencyVulnerabilityUnion.cs)
- Duplicated block (10 lines × 3) (engine/src/CodeHealth.Core/Diagnostics/ScanBudgets.cs)
- Duplicated block (11 lines × 2) (engine/src/CodeHealth.Core/Markup/AstroMarkupProducer.cs)
- Duplicated block (11 lines × 2) (engine/src/CodeHealth.Core/Testing/FSharpTestProjectScanner.cs)
- Duplicated block (12 lines × 2) (engine/src/CodeHealth.Core/Frontend/JsComplexity.cs)
- …and 146 more

## Changes since last survey

- 202 commits — 94 feature/other, 108 fixes

## By area

- tools/train — 93 commits
- engine/src — 63 commits
- src/Kennel.Admin.Core — 16 commits
- engine/tests — 11 commits
- src/Kennel.Core — 5 commits
- tests/Kennel.Admin.Tests — 3 commits
- (repo) — 2 commits
- .github/workflows — 2 commits
- (root) — 1 commit
- deploy/verify-documentation-claims.selftest.sh — 1 commit
- engine/docker — 1 commit
- engine/docs — 1 commit
- engine/sidecars — 1 commit
- src/Kennel.Watchdog.Core — 1 commit
- tools/localdev — 1 commit

## Notable commits

- fix: chore(backlog/01a0a14f-25cc): scan journal and detection delta for the AC7 Lit framework-detection fix
- fix: chore(backlog/01a0a19a-5db1): scan journal and detection delta for the Yarn Berry install fix
- fix: chore(backlog/01a0a20d-1d94): scan journal and detection delta for the install-failure attribution fix
- fix: chore(backlog/01a0a2b2-a8b5): scan journal, detection delta and session notes for the Astro head-slot composition fix
- fix: chore(backlog/01a0a2c0-1a8b): scan journal, detection delta, precision-gate logs and session notes for the import-composed layout landmark fix
- fix: chore(backlog/01a0a4be-8605): scan journal for the blast-cap floor fix
- fix: chore(platform/01a0a0c6-c29a): the scan journal and delta for the Swift retroactive-extension fix
- fix: fix(AC7/01a0a14f-25cc): AC7 asked the dependency manifests which UI framework a repo has, so a Lit backoffice of 745 parsed components was told it has no component framework and that its pages are server-side templates
- fix: fix(CI/01a0a14e-ed88): two analyze tests asserted that an EMPTY target exits 0 with a signed bundle, which is the published-nothing defect the isolation guard was added to refuse
- fix: fix(CI/01a0a24c-dd9d): 105 of the engine integration suite's 144 tests ran on no workflow at all, so a contract change reddening most of them reached main green
- fix: fix(D1-D2/01a0726c-540b): a first-party JS row carries the shape its advice is chosen from
- fix: fix(D11): an F# suite dotnet test runs was called an ecosystem we have no runner for
- fix: fix(D11): the JS/TS abstain filed itself as a runner we never built
- fix: fix(D11): the reliability gap keyed on an extension SET, so one missing runner split 32 ways
- fix: fix(D11/01a09bd7): a suite that produced no report at all was reported nowhere, and one suite's sentence stood for five
- fix: fix(D11/01a09c21): a repo whose .npmrc names a regional mirror abstained, so the fence's allowlist decided the measurement
- fix: fix(D11/01a09c4e-6f3c): a workspace sibling the suite imports is built with its own script after the scripts-off install
- fix: fix(D11/01a0a158-c5f0): .swift was in the lens extension list with no marker that could read it, so nine flaky declarations said nothing
- fix: fix(D12): the capability gap named no ecosystem, so 117 repos became one un-actionable row
- fix: fix(D12/01a0a151-6e07): a Unity repo's UPM dependencies were invisible to the probe that decides what a tree declares, so 22 committed declarations went unread and its author was told to add a .csproj
- …and 182 more

## API surface

- Unchanged — 439 HTTP endpoints
