# Changelog

## Score

- CAI 65 → 60 (-4.1)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 99 → 75 (-23.7)
- Architecture 100 → 100 (+0.0)
- Maturity 55 → 53 (-2.8)
- Readiness 50 → 50 (+0.0)
- Security 100 → 100 (+0.0)

## Resolved (2)

- Duplicate intent: Two distinct types expose `failure_lines()` for similar purposes (retrieving failure details)
- Inconsistent naming for existence checks: `exists?` vs `exist?`

## New (6)

- Documentation: no contributor guidance (README.md)
- Documentation: no usage examples (README.md)
- Duplicate intent across different namespaces: Both `FailedExampleNotification` and `ExceptionPresenter` expose a `failure_lines()` method. While they may serve different internal purposes (notification vs formatting), exposing the same semantic operation under different type hierarchies without a shared interface or clear distinction in naming suggests potential redundancy or confusion for API consumers.
- Duplicated block (13 lines × 3) (lib/serverspec/matcher/be_executable.rb)
- Inconsistent naming for existence checks: most types use `exists?()`, but `DockerBase` uses `exist?()` (missing trailing 's').
- Orphaned file (lib/serverspec/type/x509_certificate.rb)
