# 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 36 → 48 (+11.5)
- Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 100 → 95 (-4.2)
- Architecture 100 → 82 (-18.1)
- Maturity 58 → 59 (+0.9)
- Readiness 25 → 28 (+2.9)
- Security 16 → 57 (+40.8)
- Domain Modelling 100 → 81 (-18.8)

## Resolved (23)

- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (10 lines × 2) (core/src/main/java/com/optivem/kata/banking/core/internal/cleanarch/domain/accounts/BankAccount.java)
- Duplicated block (8 lines × 2) (adapter-persistence-jpa/src/main/java/com/optivem/kata/banking/adapter/driven/persistence/jpa/JpaBankAccountStorage.java)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Secret: generic-api-key (.github/workflows/ci.yaml)
- Secret: generic-api-key (.github/workflows/ci.yaml)
- Secret: generic-api-key (.github/workflows/sonar.yaml)
- Secret: generic-api-key (.github/workflows/sonar.yaml)
- Secret: generic-api-key (env/.env.local)
- Secret: generic-api-key (env/.env.local)
- Secret: generic-api-key (env/env.intellij.ui)
- Secret: generic-api-key (env/env.intellij.ui)
- Secret: generic-api-key (env/env.ps1)
- …and 3 more

## New (132)

- Boundary-crossing change coupling: ApplicationEventBus.java ↔ FacadeFactory.java (adapter-messaging-inmemory/src/main/java/com/optivem/kata/banking/adapter/driven/messaging/inmemory/ApplicationEventBus.java)
- Change coupling: DepositFundsRequestBuilder.java ↔ OpenAccountRequestBuilder.java (test-fixtures/src/main/java/com/optivem/kata/banking/core/common/builders/requests/DepositFundsRequestBuilder.java)
- Change coupling: DepositFundsUseCase.java ↔ WithdrawFundsUseCase.java (core/src/main/java/com/optivem/kata/banking/core/internal/cleanarch/usecases/DepositFundsUseCase.java)
- Change coupling: OpenAccountUseCase.java ↔ FacadeFactory.java (core/src/main/java/com/optivem/kata/banking/core/internal/crud/usecases/OpenAccountUseCase.java)
- Change coupling: RandomAccountIdGenerator.java ↔ RandomAccountNumberGenerator.java (adapter-generation-random/src/main/java/com/optivem/kata/banking/adapter/driven/generation/random/RandomAccountIdGenerator.java)
- Coverage not measured — no coverage collector is wired up
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (12 lines × 2) (core/src/main/java/com/optivem/kata/banking/core/internal/cleanarch/domain/accounts/BankAccount.java)
- Duplicated block (12 lines × 2) (core/src/main/java/com/optivem/kata/banking/core/internal/cleanarch/domain/common/guards/LongGuard.java)
- Duplicated block (7 lines × 2) (core/src/main/java/com/optivem/kata/banking/core/internal/cleanarch/acl/FundsDepositedConverter.java)
- Duplicated block (7 lines × 2) (core/src/main/java/com/optivem/kata/banking/core/internal/cleanarch/domain/accounts/BankAccount.java)
- Duplicated block (8 lines × 2) (adapter-persistence-jpa/src/main/java/com/optivem/kata/banking/adapter/driven/persistence/jpa/JpaBankAccountStorage.java)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 112 more
