# Changelog

## Score

- CAI 51 → 50 (-0.9)

## Lenses

- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 46 → 43 (-3.2)
- Readiness 60 → 60 (+0.0)
- Security 43 → 43 (+0.0)
- Domain Modelling 61 → 61 (+0.0)
- Performance 100 → 100 (+0.0)

## Resolved (3)

- Documentation: no installation or build instructions (README.md)
- Inconsistent Naming Convention for Async Operations: The protocol provides `credentialsAuthenticator` (sync) and `asyncCredentialsAuthenticator` (async). However, the async method name includes the word 'Credentials' again, whereas standard Swift concurrency patterns often prefer `authenticator` with an async signature or a distinct naming convention like `asyncAuthenticator`. More importantly, comparing this to `ModelAuthenticatable` which just has `authenticator`, the naming is inconsistent across the library's authentication protocols (some use `authenticator`, some use `credentialsAuthenticator`).
- Redundant Protocol Definition: Both ModelAuthenticatable and ModelTokenAuthenticatable expose an identical method signature for obtaining an authenticator. In a typical authentication hierarchy, token authentication is a specific form of model authentication. Having two separate protocols with the exact same method signature forces users to choose between them or implement both, creating confusion about which protocol to adopt for standard token-based auth.

## New (2)

- Orphaned file (Sources/Fluent/Fluent+History.swift)
- Orphaned file (Sources/Fluent/Fluent+Sessions.swift)
