# Changelog

## Score

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

## Lenses

- Code Health 88 → 88 (+0.0)
- Architecture 97 → 97 (+0.0)
- Maturity 51 → 51 (+0.0)
- Readiness 44 → 44 (+0.0)
- Security 45 → 59 (+13.7)
- Domain Modelling 67 → 67 (+0.0)

## Resolved (17)

- ADR not followed: Correct (docs/adr/0001-c-style-string-formatting.rst)
- Duplicated block (10 lines × 2) (ascetic_ddd/specification/domain/jsonpath/jsonpath_parser.py)
- Duplicated block (11 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (12 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (12 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (13 lines × 2) (ascetic_ddd/dag_change/dag_change_manager.py)
- Duplicated block (14 lines × 2) (ascetic_ddd/faker/domain/aop/providers/structure_provider.py)
- Duplicated block (15 lines × 2) (ascetic_ddd/faker/infrastructure/query/pg_query_compiler.py)
- Duplicated block (16 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (20 lines × 2) (ascetic_ddd/faker/domain/providers/sequence_provider.py)
- Duplicated block (24 lines × 2) (ascetic_ddd/specification/domain/jsonpath/jsonpath_parser.py)
- Duplicated block (36 lines × 2) (ascetic_ddd/faker/infrastructure/distributors/m2o/pg_skew_distributor.py)
- Duplicated block (7 lines × 2) (ascetic_ddd/faker/infrastructure/repositories/pg_repository.py)
- Duplicated block (8 lines × 2) (ascetic_ddd/faker/infrastructure/dump/pg_dump.py)
- Duplicated block (8 lines × 2) (ascetic_ddd/rop/rop.py)
- Duplicated block (8 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Scanner failed to run — not a clean result

## New (16)

- Duplicated block (10 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (10 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (11 lines × 2) (ascetic_ddd/dag_change/dag_change_manager.py)
- Duplicated block (13 lines × 2) (ascetic_ddd/faker/domain/aop/providers/structure_provider.py)
- Duplicated block (14 lines × 2) (ascetic_ddd/faker/infrastructure/query/pg_query_compiler.py)
- Duplicated block (14 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (19 lines × 2) (ascetic_ddd/faker/domain/providers/sequence_provider.py)
- Duplicated block (23 lines × 2) (ascetic_ddd/specification/domain/jsonpath/jsonpath_parser.py)
- Duplicated block (34 lines × 2) (ascetic_ddd/faker/infrastructure/distributors/m2o/pg_skew_distributor.py)
- Duplicated block (6 lines × 2) (ascetic_ddd/faker/infrastructure/repositories/pg_repository.py)
- Duplicated block (7 lines × 2) (ascetic_ddd/faker/infrastructure/dump/pg_dump.py)
- Duplicated block (7 lines × 2) (ascetic_ddd/rop/rop.py)
- Duplicated block (7 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (9 lines × 2) (ascetic_ddd/specification/domain/jsonpath/examples/jsonpath2_parser_example.py)
- Duplicated block (9 lines × 2) (ascetic_ddd/specification/domain/jsonpath/jsonpath_parser.py)
- The module index lists seedwork/index through saga/index, but the glossary is also present and sorted, so the outline is complete and no section should be flagged as missing. (docs/modules/index.rst)
