# Changelog

## Score

- CAI 67 → 71 (+4.6)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 93 → 93 (+0.1)
- Architecture 100 → 100 (+0.0)
- Maturity 55 → 63 (+7.9)
- Readiness 61 → 63 (+1.7)
- Security 92 → 96 (+4.0)

## Resolved (6)

- Coverage not measured — no coverage collector is wired up
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (18 lines × 3) (src/erf_router.erl)
- Hotspot: src/erf_router.erl (src/erf_router.erl)
- erf_router.is_valid_request (cyclomatic 18) (src/erf_router.erl)

## New (4)

- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Floating source dependency: elli
- Floating source dependency: ndto
- Repeated repair: src/erf_router.erl (src/erf_router.erl)

## Changes since last survey

- 3 commits — 0 feature/other, 3 fixes

## By area

- src/erf_router.erl — 3 commits

## Notable commits

- fix: fix(router): Fixed double-encoding the malformed-body 400 response (#108)
- fix: fix(router): accept json requests with parameters or without body (#107)
- fix: fix(router): don't coerce absent optional query params before validation (#106)
