# Changelog

## Score

- CAI 60 → 60 (+0.1)

## Lenses

- Code Health 74 → 73 (-0.4)
- Architecture 100 → 100 (+0.0)
- Maturity 61 → 62 (+0.4)
- Readiness 49 → 49 (+0.0)
- Security 80 → 80 (+0.0)

## Resolved (5)

- Duplicated block (8–10 lines × 2) (src/kura_dialect_pg.erl)
- Duplicated block (8–9 lines × 2) (src/kura_repo_worker.erl)
- Duplicated block (9 lines × 2) (src/kura_dialect_pg.erl)
- Hotspot: src/kura_dialect_pg.erl (src/kura_dialect_pg.erl)
- Hotspot: src/kura_types.erl (src/kura_types.erl)

## New (3)

- Duplicated block (7 lines × 2) (src/kura_dialect_pg.erl)
- Duplicated block (7–8 lines × 2) (src/kura_repo_worker.erl)
- kura_query_shape.condition (cyclomatic 24) (src/kura_query_shape.erl)

## Changes since last survey

- 7 commits — 5 feature/other, 2 fixes

## By area

- (root) — 6 commits
- .github/workflows — 1 commit

## Notable commits

- fix: fix(tenant): confine attribute tenancy to every query, write and preload (#187)
- fix: fix(verify): match declared indexes by structure, not by name (#185)
- change: ci: bump erlang-ci to v2.2.5 (#188)
- change: ci: gate new code on mutation score, and run weekly (#177)
- change: feat(migrator): baseline up to a version with fake/2 and fake/3 (#182)
- change: feat(query): cache compiled queries by shape, not bound values (#184)
- change: feat(schema): forget/1 drops a module's cached lookups (#183)
