# Changelog

## Score

- CAI 53 → 60 (+7.7)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.

## Lenses

- Code Health 72 → 73 (+0.4)
- Architecture 63 → 63 (+0.0)
- Maturity 58 → 66 (+7.6)
- Readiness 44 → 60 (+15.7)
- Security 56 → 56 (+0.0)
- Accessibility 64 → 73 (+8.9)
- Performance 73 → 73 (+0.0)

## Resolved (64)

- AuditableEntityInterceptor.CreateAuditTrail (cognitive 21) (src/CleanAspire.Infrastructure/Persistence/Interceptors/AuditableEntityInterceptor.cs)
- ClassTooLong: IdentityApiAdditionalEndpointsExtensions (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- CommentedOutCode (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- Coverage not measured — test suite did not build
- Critical IaC: DS-0031 (src/CleanAspire.Api/Dockerfile)
- Critical IaC: DS-0031 (src/CleanAspire.WebApp/Dockerfile)
- Dead code: GenerateChangeEmailContent (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- Dead code: GenerateSignupEmailContent (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- Dead code: GoogleAuthResponse (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- Dead code: MicrosoftUserInfo (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- Duplicate property name `ProductId` in `StockDto` across different namespaces.
- Duplicated block (10 lines × 2) (src/CleanAspire.ClientApp/Client/FileManagement/Image/ImageRequestBuilder.cs)
- Duplicated block (10–11 lines × 2) (src/CleanAspire.ClientApp/Pages/Account/SignIn.razor)
- Duplicated block (23–24 lines × 2) (src/CleanAspire.ClientApp/Services/Identity/CookieAuthenticationStateProvider.cs)
- Duplicated block (8 lines × 2) (src/CleanAspire.ClientApp/Client/Models/ProductDto.cs)
- Duplicated block (9 lines × 2) (src/CleanAspire.ClientApp/Client/Models/ProductsWithPaginationQuery.cs)
- EmptyCatchBlock (src/CleanAspire.ClientApp/Services/Identity/CookieAuthenticationStateProvider.cs)
- FileTooLong: CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs (src/CleanAspire.Api/IdentityApiAdditionalEndpointsExtensions.cs)
- FileUploadEndpointRegistrar.RegisterRoutes (cognitive 24) (src/CleanAspire.Api/Endpoints/FileUploadEndpointRegistrar.cs)
- FileUploadEndpointRegistrar.RegisterRoutes (cyclomatic 20) (src/CleanAspire.Api/Endpoints/FileUploadEndpointRegistrar.cs)
- …and 44 more

## New (3)

- Coverage not measured — test suite did not build
- Off-boarding risk: anonymized user #1
- Workflow token permissions not restricted

## API surface

- Unchanged — 39 HTTP endpoints
