# Changelog

## Score

- CAI 64 → 62 (-2.7)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 98 → 75 (-23.6)
- Architecture 69 → 69 (+0.0)
- Maturity 61 → 56 (-4.5)
- Readiness 58 → 58 (+0.0)
- Security 76 → 76 (+0.0)
- Domain Modelling 100 → 100 (+0.0)

## Resolved (5)

- Confusing redundancy: The existence of specific 'enterprise' and 'free' variants alongside a generic 'verify_via_api_call' suggests the generic method might be a dispatcher or an alias. If the generic method delegates to the specific ones, the specific ones should likely be private or internal. If they are distinct, the naming implies a hierarchy that isn't clear from the signatures alone.
- Duplicate intent: ViewMethods and Helpers expose identical methods for generating invisible recaptcha tags. Additionally, the parameter name differs ('custom' vs 'options'), suggesting inconsistent API design between the two modules.
- Duplicate intent: ViewMethods and Helpers expose identical methods for generating v2 recaptcha tags/scripts.
- Duplicate intent: ViewMethods and Helpers expose identical methods for generating v3 recaptcha tags/scripts. It is unclear which module a user should use or if they are aliases.
- Workflow token permissions not restricted

## New (7)

- Confusing naming convention: The existence of specific 'enterprise' and 'free' variants alongside a generic 'verify_via_api_call' suggests the generic method might be a dispatcher or deprecated. If the generic method dispatches to the specific ones, the specific ones should likely be private or internal. If they are all public, users must guess which to use, or the generic one is redundant.
- Duplicate intent: Both ViewMethods and Helpers expose an identical method signature for rendering reCAPTCHA v2 tags. Same ambiguity as above regarding the canonical source.
- Duplicate intent: Both ViewMethods and Helpers expose an identical method signature for rendering reCAPTCHA v3 scripts. It is unclear which module is the canonical source for view helpers, leading to potential confusion about which module to include or extend.
- Duplicate intent: Both ViewMethods and Helpers expose methods for invisible reCAPTCHA tags. While the parameter name differs slightly ('options' vs 'custom'), the intent and likely implementation overlap significantly.
- Orphaned file (lib/recaptcha/adapters/controller_methods.rb)
- Orphaned files with no living knowledge
- Workflow token permissions not restricted (.github/workflows/ci.yml)

## Architecture

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