# Changelog

## Score

- CAI 65 → 67 (+1.5)
- Rubric changed (rubric-2026.09.8 → rubric-2026.09.16) — scores are not directly comparable.

## Lenses

- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 55 → 55 (+0.0)
- Readiness 77 → 79 (+1.7)
- Security 74 → 88 (+14.1)

## Resolved (5)

- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [CVE redacted] (package-lock.json)
- High CVE: [CVE redacted] (package-lock.json)
- High CVE: [CVE redacted] (package-lock.json)

## New (4)

- Conflicting lifecycle management. `I18nJS.listen` appears to start the watcher/process, while `I18njs.start()` and `I18njs.stop()` suggest a separate explicit lifecycle control. It is unclear if `listen` implicitly calls `start`, or if they are redundant ways to start the service.
- Duplicate intent with different casing and namespace. Both `I18nJS` and `I18njs` (note the case difference) expose a `capture` method. It is unclear if these are aliases, distinct implementations, or a legacy vs. new API conflict.
- Inconsistent initialization patterns. The main entry point `I18nJS` uses `call` for its primary setup, while the internal `I18njs` module uses `initialize`. Furthermore, various sub-components (`CLI`, `Command`, `UI`, `Template`, `Plugin`, `Schema`) all use `initialize` but with vastly different signatures and responsibilities, making the entry point confusing. `I18nJS.call` is an unusual name for a setup/configuration method compared to standard `initialize` or `configure` patterns seen elsewhere in the codebase.
- Inconsistent naming for similar operations. `relative_path` handles a single path, while `relative_path_list` handles a list. Standard convention often uses pluralization for collections (e.g., `relative_paths`) or a generic method that accepts both, rather than switching suffixes between `_path` and `_path_list`.

## Architecture

- Unchanged — 0 containers · 1 contexts · 0 edges
