# Changelog

## Score

- CAI 70 → 67 (-2.4)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 100 → 95 (-5.2)
- Architecture 69 → 69 (+0.0)
- Maturity 61 → 56 (-4.6)
- Readiness 83 → 83 (+0.0)
- Security 88 → 88 (+0.0)

## Resolved (3)

- Ambiguous naming for similar operations. 'full_title' and 'page_title' likely perform the same core function (generating the final title string), but the distinction is unclear from the signature alone. In many meta-tag libraries, these are synonyms or one is a deprecated alias for the other.
- Inconsistent verb usage. 'display_meta_tags' implies rendering the entire set of tags, while 'display_title' renders just the title. However, 'ViewHelper.meta_tags()' exists without the 'display_' prefix, creating an inconsistency in naming convention for public view helpers (some have 'display_', some don't).
- Redundant extraction methods. Similar to the rendering methods above, having both 'extract_full_title' and 'extract_title' suggests duplication. One is likely a subset or alias of the other, or they differ only in whether they include the site name/separator, which should be explicit in the name or handled via parameters.

## New (2)

- Inconsistent rendering API surface. `ViewHelper` uses `display_*` methods, while `ContentTag` and `Renderer` use `render`. `ControllerHelper` also uses `render` but with a different signature (`args, block`). This forces developers to remember different method names for similar actions depending on the context (view helper vs internal object).
- Redundant naming and unclear distinction between 'full' vs 'page' and 'extract' vs direct access. It is unclear if `full_title` and `page_title` return different values or if `extract_*` methods are merely getters for internal state while the others are computed. The prefix 'extract' is inconsistent with other collection methods like `delete` or `update` which modify state, whereas `extract` here seems to read.

## Changes since last survey

- 13 commits — 12 feature/other, 1 fixes

## By area

- (repo) — 6 commits
- .github/workflows — 5 commits
- (root) — 1 commit
- sig/lib — 1 commit

## Notable commits

- fix: Merge pull request #428 from kpumuk/fix-title-nil-signature
- change: Add benchmark for Rails 6.1 on TruffleRuby 40
- change: Allow explicit nil in title RBS signature
- change: Bump actions/create-github-app-token from 3.2.0 to 3.3.0
- change: Bump actions/download-artifact from 8.0.1 to 8.0.2
- change: Bump actions/upload-artifact from 7.0.1 to 7.0.2
- change: Bump ossf/scorecard-action from 2.4.4 to 2.5.0
- change: Bump ruby/setup-ruby from 1.321.0 to 1.329.0
- change: Merge pull request #435 from kpumuk/dependabot/github_actions/actions/upload-artifact-7.0.2
- change: Merge pull request #436 from kpumuk/dependabot/github_actions/actions/download-artifact-8.0.2
- change: Merge pull request #438 from kpumuk/dependabot/github_actions/actions/create-github-app-token-3.3.0
- change: Merge pull request #439 from kpumuk/dependabot/github_actions/ossf/scorecard-action-2.5.0
- change: Merge pull request #440 from kpumuk/dependabot/github_actions/ruby/setup-ruby-1.329.0
