# Changelog

## Score

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

## Lenses

- Code Health 61 → 58 (-3.1)
- Architecture 97 → 97 (+0.0)
- Maturity 55 → 34 (-20.4)
- Readiness 58 → 58 (+0.0)
- Security 76 → 76 (+0.0)

## Resolved (3)

- Inconsistent naming and arity for generation operations. `JsRoutes` exposes both `generate` (no file output implied) and `generate!` (explicit file output). `Instance` exposes `generate` and `generate!` with identical names but potentially different signatures/behaviors compared to the module-level methods. The distinction between 'generate' (in-memory/string) and 'generate!' (file output) is not consistently applied across the module vs instance API, and the parameter lists differ significantly (`opts` vs `file_name, typed, opts`), causing confusion about which method to call for which outcome.
- Off-boarding risk: anonymized user #1
- Same inconsistency as `generate`. `JsRoutes` has `package` and `package!` with different arities and implied behaviors (in-memory vs file). `Instance` mirrors this with `package` and `package!`. The use of `!` to denote file output is inconsistent with Ruby conventions where `!` often implies mutation or danger, not just I/O destination, and creates a parallel API surface that is hard to remember.

## New (4)

- Duplicate intent. `JsRoutes.setup` and `Configuration.setup` appear to perform the same configuration initialization task. Users may be confused about whether they should configure via the main `JsRoutes` module or the `Configuration` class directly.
- Inconsistent naming and arity for generation operations. `JsRoutes` exposes both `generate` (no file output implied) and `generate!` (explicit file output), while `Instance` exposes `generate` and `generate!`. The distinction between the '!' and non-'!' variants is not immediately obvious from the signature alone (one takes a filename, the other doesn't), and the existence of two parallel entry points (`JsRoutes` singleton vs `Instance`) with similar but distinct method names creates confusion about which API surface to use.
- Off-boarding risk: anonymized user #1
- Same inconsistency as `generate`: `package` and `package!` are used in both `JsRoutes` and `Instance` with inconsistent signatures (one takes a filename, the other does not). This duplicates the confusion found in the generation methods.

## Architecture

- 0 containers · 1 bounded contexts · 0 dependency edges (baseline)
