# Changelog

## Score

- CAI 33 → 37 (+3.4)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.

## Lenses

- Code Health 59 → 59 (+0.2)
- Architecture 92 → 88 (-4.5)
- Maturity 51 → 55 (+4.3)
- Readiness 15 → 17 (+1.6)
- Security 50 → 49 (-1.4)
- Domain Modelling 100 → 100 (+0.0)
- Accessibility 38 → 49 (+10.4)

## Resolved (56)

- Change coupling: about.py ↔ main.py (backend/admin_service/src/content_admin/crud/about.py)
- Change coupling: about.py ↔ main.py (backend/admin_service/src/content_admin/routes/about.py)
- Change coupling: projects.py ↔ tech.py (backend/admin_service/src/content_admin/crud/projects.py)
- Change coupling: publications.py ↔ main.py (backend/admin_service/src/content_admin/crud/publications.py)
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (10–11 lines × 2) (backend/admin_service/src/comments_admin/routes/comments.py)
- Duplicated block (10–11 lines × 2) (backend/admin_service/src/content_admin/models/projects.py)
- Duplicated block (10–13 lines × 2) (backend/admin_service/src/comments_admin/routes/comments.py)
- Duplicated block (10–14 lines × 13) (backend/api_gateway/src/api/v1/endpoints/auth.py)
- Duplicated block (11–13 lines × 3) (backend/api_gateway/src/api/v1/dependencies.py)
- Duplicated block (14–16 lines × 3) (backend/admin_service/src/content_admin/routes/about.py)
- Duplicated block (18–20 lines × 2) (backend/admin_service/src/auth_admin/routes/auth.py)
- Duplicated block (20–29 lines × 4) (backend/api_gateway/src/api/v1/endpoints/content.py)
- Duplicated block (23–24 lines × 2) (backend/admin_service/src/auth_admin/routes/auth.py)
- Duplicated block (27–29 lines × 2) (backend/admin_service/src/notification_admin/routes/notification.py)
- Duplicated block (32–36 lines × 3) (backend/admin_service/src/content_admin/crud/projects.py)
- Duplicated block (8–10 lines × 3) (backend/api_gateway/src/grpc_clients/auth_client.py)
- Duplicated block (9 lines × 2) (backend/admin_service/src/comments_admin/routes/comments.py)
- High CVE: [GHSA redacted] (backend/admin_service/admin_gui/package-lock.json)
- High CVE: [GHSA redacted] (backend/admin_service/admin_gui/package-lock.json)
- …and 36 more

## New (66)

- Change coupling: certificates.py ↔ main.py (backend/admin_service/src/content_admin/crud/certificates.py)
- Change coupling: certificates.py ↔ projects.py (backend/admin_service/src/content_admin/crud/certificates.py)
- Change coupling: certificates.py ↔ publications.py (backend/admin_service/src/content_admin/crud/certificates.py)
- Change coupling: certificates.py ↔ settings.py (backend/admin_service/src/content_admin/crud/certificates.py)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (backend/admin_service/src/comments_admin/routes/comments.py)
- Duplicated block (10 lines × 2) (backend/admin_service/src/content_admin/models/projects.py)
- Duplicated block (10 lines × 3) (backend/api_gateway/src/api/v1/endpoints/auth.py)
- Duplicated block (11 lines × 3) (backend/api_gateway/src/api/v1/dependencies.py)
- Duplicated block (11 lines × 3) (backend/api_gateway/src/api/v1/endpoints/auth.py)
- Duplicated block (12 lines × 2) (backend/api_gateway/src/api/v1/endpoints/comments.py)
- Duplicated block (12 lines × 4) (backend/admin_service/src/comments_admin/routes/comments.py)
- Duplicated block (13 lines × 2) (backend/api_gateway/src/api/v1/endpoints/comments.py)
- Duplicated block (14 lines × 3) (backend/admin_service/src/content_admin/routes/about.py)
- Duplicated block (15 lines × 2) (backend/admin_service/src/content_admin/routes/about.py)
- Duplicated block (18 lines × 2) (backend/admin_service/src/auth_admin/routes/auth.py)
- Duplicated block (20 lines × 4) (backend/api_gateway/src/api/v1/endpoints/content.py)
- Duplicated block (23 lines × 2) (backend/admin_service/src/auth_admin/routes/auth.py)
- Duplicated block (27 lines × 2) (backend/admin_service/src/notification_admin/routes/notification.py)
- Duplicated block (27 lines × 2) (backend/api_gateway/src/api/v1/endpoints/content.py)
- …and 46 more
