# Changelog

## Score

- CAI 28 → 39 (+10.8)

## Lenses

- Code Health 65 (new)
- Architecture 85 (new)
- Maturity 13 → 73 (+59.9)
- Readiness 15 → 20 (+4.2)
- Security 100 → 48 (-51.6)
- Domain Modelling 53 (new)

## Resolved (3)

- Dependency hygiene not measured — no supported dependency manifest was read
- bus factor not measured — no commits were sampled
- single-commit history — no usable git history window to measure hotspots

## New (33)

- Bounded contexts not declared
- Critical CVE: System.Text.Encodings.Web 4.5.0
- High CVE: Microsoft.Data.SqlClient 1.0.19269.1
- High CVE: MongoDB.Driver 2.10.2
- High CVE: Newtonsoft.Json 11.0.2
- High CVE: System.Net.Http 4.3.0
- High CVE: System.Text.RegularExpressions 4.3.0
- Inconsistency in interface naming: the service interface is named IWalletService, but the implementation is WalletService. While this is a common pattern, the lack of 'Service' suffix on the interface (compared to the implementation) is a minor inconsistency in the codebase's own naming conventions for abstractions.
- Inconsistent naming for output models in the GetTransactions use case. One is named TransactionOutput (likely a mistake or legacy name) while the other is GetTransactionsOutput. This suggests a confusion between the output of the use case and the output of a specific transaction within it.
- Medium CVE: Microsoft.Data.SqlClient 1.0.19269.1
- Medium CVE: SharpCompress 0.23.0
- Medium CVE: SharpCompress 0.23.0
- Medium CVE: Swashbuckle.AspNetCore.SwaggerUI 5.0.0
- No ADRs found
- Off the main sequence: ANM.Example.Application.Abstractions
- The README is a single file with no dedicated architecture or domain documentation (no .csproj/Domain/Repositories/API XML docs), so it cannot be trusted for implementation details such as how to implement Use Cases/Input Port/Output Port/Repository/Application Exceptions/DOMAIN Layer (DDD)/Value Objects/Entities/Events (Event Sourcing)/Domain Service/Domain Exceptions. (README.md)
- Thin analysable surface across projects
- Typo in domain event name: 'Bougth' instead of 'Bought'. This typo is also present in the corresponding handler class name.
- XML-doc coverage: ANM.Core.Application.Abstractions (source/ANM.Core.Application.Abstraction/ANM.Core.Application.Abstractions.csproj)
- XML-doc coverage: ANM.Core.Domain.Abstractions (source/ANM.Core.Domain.Abstractions/ANM.Core.Domain.Abstractions.csproj)
- …and 13 more

## API surface

- 5 added · 0 removed (a removed endpoint is potentially breaking)

## Added endpoints (5)

- GET /api/transactions
- GET /api/wallet
- PATCH /api/stock/buy
- PATCH /api/stock/sell
- POST /api/user
