# Changelog

> **This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.**

## Score

- CAI 58 → 65 (+6.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 82 → 88 (+6.1)
- Architecture 100 → 100 (+0.0)
- Maturity 35 → 48 (+12.8)
- Readiness 74 → 64 (-9.7)
- Security 75 → 92 (+17.7)
- Event Sourcing 100 → 100 (+0.0)

## Resolved (24)

- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Test reliability not included
- TooManyMethods: hashtree (src/hashtree.erl)
- TooManyMethods: riak_core_bg_manager (src/riak_core_bg_manager.erl)
- TooManyMethods: riak_core_claim_binring_alg (src/riak_core_claim_binring_alg.erl)
- TooManyMethods: riak_core_claimant (src/riak_core_claimant.erl)
- TooManyMethods: riak_core_console (src/riak_core_console.erl)
- TooManyMethods: riak_core_gen_server (src/riak_core_gen_server.erl)
- TooManyMethods: riak_core_handoff_manager (src/riak_core_handoff_manager.erl)
- TooManyMethods: riak_core_membership_claim (src/riak_core_membership_claim.erl)
- TooManyMethods: riak_core_node_watcher (src/riak_core_node_watcher.erl)
- TooManyMethods: riak_core_ring (src/riak_core_ring.erl)
- TooManyMethods: riak_core_ring_manager (src/riak_core_ring_manager.erl)
- TooManyMethods: riak_core_security (src/riak_core_security.erl)
- TooManyMethods: riak_core_util (src/riak_core_util.erl)
- …and 4 more

## New (127)

- Coverage not measured — no coverage collector is wired up
- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Documentation: no architecture or design documentation (README.md)
- Duplicated block (10 lines × 3) (src/riak_core_vnode.erl)
- Duplicated block (12 lines × 2) (src/riak_core_security.erl)
- Duplicated block (13 lines × 2) (src/riak_core_console.erl)
- Duplicated block (14 lines × 2) (src/riak_core_console.erl)
- Duplicated block (14 lines × 2) (src/riak_core_security.erl)
- Duplicated block (14 lines × 4) (src/riak_core_security.erl)
- Duplicated block (15–16 lines × 2) (src/riak_core_security.erl)
- Duplicated block (17 lines × 2) (src/riak_core_claim_sim.erl)
- Duplicated block (24 lines × 2) (src/riak_core_vnode.erl)
- Duplicated block (25 lines × 2) (src/riak_core_security.erl)
- Duplicated block (5 lines × 2) (src/bloom.erl)
- Duplicated block (5 lines × 2) (src/riak_core_broadcast.erl)
- Duplicated block (5 lines × 2) (src/riak_core_security.erl)
- Duplicated block (5 lines × 2) (src/riak_core_security.erl)
- Duplicated block (5 lines × 3) (src/gen_nb_server.erl)
- Duplicated block (6 lines × 2) (src/riak_core_priority_queue.erl)
- Duplicated block (6 lines × 3) (src/riak_core_console.erl)
- …and 107 more
