# Changelog

## Score

- CAI 63 → 71 (+7.4)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 96 → 97 (+0.8)
- Architecture 90 → 96 (+6.0)
- Maturity 44 → 59 (+15.2)
- Readiness 67 → 69 (+2.2)
- Security 90 → 90 (+0.0)

## New (38)

- Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicate arithmetic operations. `adding(years:)` and `subtracting(years:)` are specific cases of the generic `+` and `-` operators which accept `TimeDifference`. This forces users to choose between two different ways to do the same thing.
- Duplicate operation for calculating time difference. The subtraction operator `-` and the method `difference(to:)` perform the exact same calculation.
- Excessive method proliferation for setting components. There are 20+ overloads of `setting` for every combination of components. This is a code smell indicating a lack of a unified component-setting API.
- Fixed.roundToMultiple (cognitive 18) (Sources/Time/4-Fixed Values/Fixed.swift)
- Inconsistent conversion API surface. Some conversions require a `ConversionBehavior` enum (Region, TimeZone, Calendar), while others (Locale, TimeZone, Calendar) do not. This creates confusion about when behavior is required. Additionally, `converted(to: TimeZone)` exists both with and without behavior.
- Low coverage: Sources/Time/10-Relations/Relations.swift (Sources/Time/10-Relations/Relations.swift)
- Low coverage: Sources/Time/2-Core Calendar/TimeError.swift (Sources/Time/2-Core Calendar/TimeError.swift)
- Low coverage: Sources/Time/2-Core Calendar/Units.swift (Sources/Time/2-Core Calendar/Units.swift)
- Low coverage: Sources/Time/3-RegionalClock/RegionalClock+CurrentValues.swift (Sources/Time/3-RegionalClock/RegionalClock+CurrentValues.swift)
- Low coverage: Sources/Time/3-RegionalClock/RegionalClock+Implementations.swift (Sources/Time/3-RegionalClock/RegionalClock+Implementations.swift)
- Low coverage: Sources/Time/3-RegionalClock/RegionalClock+Strikes.swift (Sources/Time/3-RegionalClock/RegionalClock+Strikes.swift)
- Low coverage: Sources/Time/3-RegionalClock/RegionalClock.swift (Sources/Time/3-RegionalClock/RegionalClock.swift)
- Low coverage: Sources/Time/4-Fixed Values/Fixed+Conversion.swift (Sources/Time/4-Fixed Values/Fixed+Conversion.swift)
- Low coverage: Sources/Time/4-Fixed Values/Fixed+Day.swift (Sources/Time/4-Fixed Values/Fixed+Day.swift)
- Low coverage: Sources/Time/4-Fixed Values/Fixed+Era.swift (Sources/Time/4-Fixed Values/Fixed+Era.swift)
- Low coverage: Sources/Time/4-Fixed Values/Fixed+Hour.swift (Sources/Time/4-Fixed Values/Fixed+Hour.swift)
- Low coverage: Sources/Time/4-Fixed Values/Fixed+Minute.swift (Sources/Time/4-Fixed Values/Fixed+Minute.swift)
- …and 18 more
