# Changelog

## Score

- CAI 59 → 60 (+0.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 100 → 99 (-1.2)
- Architecture 85 → 97 (+12.0)
- Maturity 47 → 47 (+0.0)
- Readiness 49 → 50 (+0.7)
- Security 85 → 85 (+0.0)

## Resolved (7)

- Documentation: no installation or build instructions
- Documentation: no installation or build instructions (README.md)
- Documentation: no installation or build instructions (docs/Extensions/UIViewController.html)
- Documentation: no project overview
- Documentation: no project overview (docs/Extensions/UIViewController.html)
- Documentation: no usage examples
- Documentation: no usage examples (README.md)

## New (6)

- Coverage not measured — Swift suite
- FileTooLong: js/typeahead.jquery.js (docs/js/typeahead.jquery.js)
- Inconsistent method overloading for triggering transitions. The `Router` type exposes four variations of `trigger` that differ only by the presence of optional parameters (`TransitionOptions` and `completion`). This creates ambiguity and forces callers to choose between different signatures for essentially the same operation, rather than using a single method with optional parameters.
- Inconsistent naming and return types for context-aware triggering. `Coordinator` and `StrongRouter` use `contextTrigger` with a completion handler, while `Router` uses `contextTrigger` returning a `TransitionContext`. This suggests a split in design intent (fire-and-forget vs. chainable/context-returning) that is not clearly distinguished by naming or type hierarchy.
- Outdated: rxswift
- Redundant method exposure across coordinator types. `AnyCoordinator`, `BaseCoordinator`, and `BasicCoordinator` all expose `prepareTransition`. Since `AnyCoordinator` is an erased type wrapper and `BaseCoordinator` is the base implementation, exposing this method on `AnyCoordinator` (which is meant to be a type-erased container) is inconsistent with typical type-erasure patterns where internal logic is hidden. Furthermore, `BasicCoordinator` inherits from `BaseCoordinator`, making the explicit re-declaration or identical signature redundant.
