# 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 57 → 57 (+0.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.

## Lenses

- Code Health 94 → 94 (+0.1)
- Architecture 100 → 100 (+0.0)
- Maturity 74 → 74 (+0.0)
- Readiness 26 → 26 (+0.0)
- Security 97 → 99 (+1.4)

## Resolved (14)

- Duplicated block (10 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/Anagram.java)
- Duplicated block (11 lines × 2) (algorithms/src/main/java/org/zegai/algorithms/search/kmp/KMP.java)
- Duplicated block (12 lines × 2) (data-structures/src/main/java/org/zegai/dsa/dll/DoublyLinkedList.java)
- Duplicated block (13 lines × 2) (algorithms/src/main/java/org/zegai/algorithms/graph/dfs/DFS.java)
- Duplicated block (13 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/AddBinary.java)
- Duplicated block (13 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/RomanToInteger.java)
- Duplicated block (15 lines × 2) (solid/lsp/src/main/java/com/houarizegai/hr/main/CalculateEmployeeTaxesMain.java)
- Duplicated block (5 lines × 2) (data-structures/src/main/java/org/zegai/dsa/code2019/array/dynamic/DynamicArrayDemo.java)
- Duplicated block (8 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/FindTheDifference.java)
- Duplicated block (9 lines × 2) (data-structures/src/main/java/org/zegai/dsa/code2019/array/dynamic/DynamicArray.java)
- Duplicated block (9 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/util/ArrayUtil.java)
- Medium: security finding (details withheld)
- The Lychrel Number TDD kata README is a single-file stub that only cites Wikipedia and does not describe what the exercise actually involves (e.g. the algorithm, test cases). (katas/lychrel/README.md)
- The README links only to Wikipedia ('[Lychrel Number Wikipedia](https://en.wikipedia.org/wiki/Lychrel_number)') but does not describe the kata's own implementation or test cases. (katas/lychrel/README.md)

## New (11)

- Duplicated block (10 lines × 2) (algorithms/src/main/java/org/zegai/algorithms/search/kmp/KMP.java)
- Duplicated block (10 lines × 2) (data-structures/src/main/java/org/zegai/dsa/dll/DoublyLinkedList.java)
- Duplicated block (12 lines × 2) (algorithms/src/main/java/org/zegai/algorithms/graph/dfs/DFS.java)
- Duplicated block (12 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/AddBinary.java)
- Duplicated block (12 lines × 2) (solid/isp/src/main/java/com/houarizegai/hr/main/CalculateEmployeeTaxesMain.java)
- Duplicated block (13 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/RomanToInteger.java)
- Duplicated block (7 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/FindTheDifference.java)
- Duplicated block (8 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/easy/Anagram.java)
- Duplicated block (8 lines × 2) (leetcode/src/main/java/org/zegai/leetcode/util/ArrayUtil.java)
- Duplicated block (9 lines × 2) (data-structures/src/main/java/org/zegai/dsa/code2019/array/dynamic/DynamicArray.java)
- Medium IaC: CKV_DOCKER_3 (katas/tennis/Dockerfile)
