# Changelog

## Score

- CAI 52 → 60 (+8.3)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 100 → 90 (-10.0)
- Architecture 89 (new)
- Maturity 54 → 48 (-6.6)
- Readiness 28 → 53 (+24.8)
- Security 100 → 90 (-10.0)

## Resolved (9)

- Dimension evaluation failed
- No automated tests
- No context/problem statement and no explicit decision; only an unrelated project list is visible (Documentation/11.Related_Projects.md)
- No exposed public API
- No tests found
- Test reliability not included
- early-stage repository — too little history to judge knowledge freshness
- single-commit history — no usable git history window to measure hotspots
- single-maintainer — knowledge-concentration (bus factor) risk

## New (53)

- Assertions commented out: testDateInRegion_Hash (Tests/SwiftDateTests/TestDateInRegion.swift)
- ClassTooLong: ISOParser (Sources/SwiftDate/Formatters/ISOParser.swift)
- ClassTooLong: Locales (Sources/SwiftDate/Supports/Locales.swift)
- ClassTooLong: Zones (Sources/SwiftDate/Supports/Zones.swift)
- Coverage not measured — Swift suite
- DateInRegion.compare (cyclomatic 35) (Sources/SwiftDate/DateInRegion/DateInRegion.swift)
- Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
- Dormant codebase
- Duplicate functionality across types. `SwiftDate` (likely a namespace or singleton type) and `DateFormats` both expose a `resetAutoFormats` method. Since `DateFormats` also holds the `autoFormats` property, the method on `SwiftDate` is redundant or implies a global state that should be encapsulated within `DateFormats`.
- Duplicated block (10 lines × 2) (Sources/SwiftDate/Date/Date.swift)
- Duplicated block (11 lines × 2) (Sources/SwiftDate/TimePeriod/Groups/TimePeriodGroup.swift)
- Duplicated block (13 lines × 2) (Sources/SwiftDate/TimePeriod/Groups/TimePeriodChain.swift)
- Duplicated block (5 lines × 2) (Sources/SwiftDate/Date/Date+Create.swift)
- Duplicated block (7 lines × 2) (Sources/SwiftDate/Date/Date+Create.swift)
- Duplicated block (9 lines × 2) (Sources/SwiftDate/DateRepresentable.swift)
- Duplicated block (9 lines × 2) (Sources/SwiftDate/TimePeriod/TimePeriodProtocol.swift)
- FileTooLong: Formatters/ISOParser.swift (Sources/SwiftDate/Formatters/ISOParser.swift)
- FileTooLong: Supports/Locales.swift (Sources/SwiftDate/Supports/Locales.swift)
- ISOParser.parse (cognitive 83) (Sources/SwiftDate/Formatters/ISOParser.swift)
- ISOParser.parse (cyclomatic 43) (Sources/SwiftDate/Formatters/ISOParser.swift)
- …and 33 more
