# Changelog

## Score

- CAI 56 → 57 (+1.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 93 → 93 (-0.3)
- Architecture 100 → 93 (-6.8)
- Maturity 54 → 54 (+0.5)
- Readiness 32 → 38 (+5.4)
- Security 100 → 100 (+0.0)

## Resolved (4)

- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Hotspot: Sources/Markdown/Parser/CommonMarkConverter.swift (Sources/Markdown/Parser/CommonMarkConverter.swift)

## New (14)

- Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
- Duplicated block (6 lines × 3) (Sources/Markdown/Block Nodes/Block Container Blocks/ListItem.swift)
- Duplicated block (6 lines × 3) (Sources/Markdown/Inline Nodes/Inline Containers/Emphasis.swift)
- Duplicated block (6 lines × 4) (Sources/Markdown/Block Nodes/Leaf Blocks/CodeBlock.swift)
- Duplicated block (6 lines × 4) (Sources/Markdown/Block Nodes/Leaf Blocks/CodeBlock.swift)
- Floating branch dependency: swift-cmark
- Inconsistent naming for index-based access. The method `child(at:)` uses the standard Swift collection accessor pattern, while `child(through:)` is used for path-based or range-based access. This creates a confusing API surface where accessing a single child by index has a different verb than accessing via a path or element, despite both being retrieval operations.
- Low coverage: Sources/Markdown/Infrastructure/Replacement.swift (Sources/Markdown/Infrastructure/Replacement.swift)
- Low coverage: Sources/Markdown/Inline Nodes/Inline Containers/Strikethrough.swift (Sources/Markdown/Inline Nodes/Inline Containers/Strikethrough.swift)
- Low coverage: Sources/Markdown/Structural Restrictions/BasicInlineContainer.swift (Sources/Markdown/Structural Restrictions/BasicInlineContainer.swift)
- Low coverage: Sources/Markdown/Utility/CharacterExtensions.swift (Sources/Markdown/Utility/CharacterExtensions.swift)
- Low coverage: Sources/Markdown/Utility/StringExtensions.swift (Sources/Markdown/Utility/StringExtensions.swift)
- No Package.resolved committed (Tools/Package.swift)
- Projects may be oversized for their cohesion

## Changes since last survey

- 1 commits — 1 feature/other, 0 fixes

## By area

- (root) — 1 commit

## Notable commits

- change: Update minimum CMake version to 3.29 (#293)
