# Changelog

## Score

- CAI 62 → 63 (+0.2)

## Lenses

- Code Health 62 → 62 (+0.0)
- Architecture 97 → 97 (+0.0)
- Maturity 59 → 60 (+0.6)
- Readiness 58 → 58 (+0.0)
- Security 68 → 68 (+0.0)
- Performance 100 → 100 (+0.0)

## Resolved (5)

- Documentation: no architecture or design documentation
- Inconsistent naming for deletion operations. `CaptureHistoryStore` uses `removeEntry`, while `LanguageManager` and `TesseractOCREngine` use `deleteLanguage`. In Swift/iOS ecosystems, `remove` is typically used for collection items (like array elements), while `delete` is often used for persistent resources or distinct entities. However, mixing these verbs across similar 'cleanup' responsibilities creates cognitive load.
- Inconsistent return types for equivalent data. `MenuBarIcon` exposes two methods to get the icon image, returning different types (`Image` vs `NSImage`). While `Image` might be a SwiftUI type and `NSImage` AppKit, exposing both without clear distinction on when to use which creates ambiguity. Usually, one should be the primary representation, or the API should be unified.
- PR-triggered workflow grants a write-scoped token
- Redundant accessors. The type exposes a public property `shortcuts` which is an array, but also provides a method `getShortcuts()`. In Swift, accessing a property is the standard idiom; a `get` method is redundant and violates Swift naming conventions (which discourage `get` prefixes for simple property access).

## New (1)

- PR-triggered workflow grants a write-scoped token (.github/workflows/release.yml)
