# Changelog

## Score

- CAI 28 → 49 (+20.5)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.

## Lenses

- Code Health 75 (new)
- Architecture 85 (new)
- Maturity 13 → 65 (+51.5)
- Readiness 15 → 31 (+15.7)
- Security 100 → 58 (-41.7)
- Accessibility 66 (new)

## Resolved (6)

- Dependency hygiene not measured — no supported dependency manifest was read
- No automated tests
- No tests found
- bus factor not measured — no commits were sampled
- early-stage repository — too little history to judge knowledge freshness
- single-commit history — no usable git history window to measure hotspots

## New (144)

- Bounded contexts not declared
- Change coupling: UsersController.cs ↔ admin.routes.ts (backend/Contact.Api/Controllers/UsersController.cs)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (frontend/package-lock.json)
- Critical CVE: [GHSA redacted] (frontend/package-lock.json)
- Deprecated: Aspire.Dashboard.Sdk.linux-x64
- Deprecated: Aspire.Hosting.AppHost
- Deprecated: Aspire.Hosting.NodeJs
- Deprecated: Aspire.Hosting.Orchestration.linux-x64
- Deprecated: Aspire.Hosting.PostgreSQL
- Deprecated: FluentValidation.AspNetCore
- Duplicated block (12 lines × 3) (backend/Contact.Infrastructure/Persistence/Helper/DapperHelper.cs)
- Duplicated block (5 lines × 2) (backend/Contact.Infrastructure/Persistence/Repositories/UserRepository.cs)
- Further orphaned files (smaller)
- High CVE: AutoMapper 15.1.0
- High CVE: [GHSA redacted] (frontend/package-lock.json)
- High CVE: [GHSA redacted] (frontend/package-lock.json)
- High CVE: [GHSA redacted] (frontend/package-lock.json)
- High CVE: [GHSA redacted] (frontend/package-lock.json)
- High CVE: [GHSA redacted] (frontend/package-lock.json)
- …and 124 more

## API surface

- 32 added · 0 removed (a removed endpoint is potentially breaking)

## Added endpoints (32)

- DELETE /api/contactperson/{id}
- DELETE /api/operations/{id}
- DELETE /api/pages/{id}
- DELETE /api/roles/{id}
- GET /api/contactperson
- GET /api/contactperson/{id}
- GET /api/operations
- GET /api/pages
- GET /api/rolepermissionmapping/roles
- GET /api/rolepermissionmapping/{roleId}
- GET /api/roles
- GET /api/userroles/{userId}
- GET /api/users
- GET /api/users/activity-logs
- GET /api/users/all
- POST /api/contactperson
- POST /api/operations
- POST /api/pages
- POST /api/rolepermissionmapping
- POST /api/roles
- …and 12 more
