# Changelog

## Score

- CAI 52 → 53 (+0.9)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.

## Lenses

- Code Health 85 → 85 (+0.1)
- Architecture 100 → 100 (+0.0)
- Maturity 57 → 63 (+6.6)
- Readiness 41 → 41 (+0.0)
- Security 47 → 47 (+0.0)
- Domain Modelling 100 → 100 (+0.0)

## Resolved (21)

- Duplicated block (10 lines × 2) (examples/saga.py)
- Duplicated block (10 lines × 2) (examples/saga_recovery.py)
- Duplicated block (10 lines × 2) (src/cqrs/saga/storage/sqlalchemy.py)
- Duplicated block (10 lines × 3) (src/cqrs/saga/mermaid.py)
- Duplicated block (11 lines × 2) (src/cqrs/requests/mermaid.py)
- Duplicated block (11 lines × 2) (src/cqrs/saga/mermaid.py)
- Duplicated block (12 lines × 2) (src/cqrs/requests/mermaid.py)
- Duplicated block (14 lines × 2) (src/cqrs/events/fallback.py)
- Duplicated block (15 lines × 2) (examples/cor_mermaid.py)
- Duplicated block (17 lines × 2) (examples/cor_request_handler.py)
- Duplicated block (18 lines × 3) (examples/cor_mermaid.py)
- Duplicated block (19 lines × 3) (src/cqrs/dispatcher/request.py)
- Duplicated block (21 lines × 2) (examples/saga.py)
- Duplicated block (23 lines × 3) (src/cqrs/requests/bootstrap.py)
- Duplicated block (24 lines × 2) (examples/cor_mermaid.py)
- Duplicated block (5 lines × 2) (examples/request_handler.py)
- Duplicated block (6 lines × 2) (examples/domain_event_handler.py)
- Duplicated block (8 lines × 2) (examples/saga_recovery.py)
- Duplicated block (9 lines × 2) (examples/saga.py)
- Duplicated block (9 lines × 2) (src/cqrs/saga/storage/sqlalchemy.py)
- …and 1 more

## New (20)

- Duplicated block (10 lines × 2) (src/cqrs/requests/mermaid.py)
- Duplicated block (10 lines × 2) (src/cqrs/saga/mermaid.py)
- Duplicated block (10 lines × 2) (src/cqrs/saga/storage/sqlalchemy.py)
- Duplicated block (11 lines × 2) (src/cqrs/requests/mermaid.py)
- Duplicated block (13 lines × 2) (src/cqrs/events/fallback.py)
- Duplicated block (14 lines × 2) (examples/cor_mermaid.py)
- Duplicated block (16 lines × 2) (examples/cor_request_handler.py)
- Duplicated block (16 lines × 3) (examples/cor_mermaid.py)
- Duplicated block (19 lines × 3) (src/cqrs/dispatcher/request.py)
- Duplicated block (20 lines × 2) (examples/saga.py)
- Duplicated block (22 lines × 2) (examples/cor_mermaid.py)
- Duplicated block (23 lines × 3) (src/cqrs/requests/bootstrap.py)
- Duplicated block (5 lines × 2) (examples/domain_event_handler.py)
- Duplicated block (7 lines × 2) (examples/saga_recovery.py)
- Duplicated block (8 lines × 2) (examples/saga.py)
- Duplicated block (8 lines × 2) (src/cqrs/saga/storage/sqlalchemy.py)
- Duplicated block (9 lines × 2) (examples/saga.py)
- Duplicated block (9 lines × 2) (examples/saga_recovery.py)
- Duplicated block (9 lines × 3) (src/cqrs/saga/mermaid.py)
- Off-boarding risk: anonymized user #1
