# Changelog

## Score

- CAI 49 → 50 (+1.1)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.

## Lenses

- Code Health 66 → 64 (-2.0)
- Architecture 97 → 97 (+0.5)
- Maturity 41 → 44 (+3.1)
- Readiness 43 → 43 (+0.0)
- Security 79 → 79 (+0.0)
- Performance 57 → 57 (+0.0)

## Resolved (28)

- BaseEventingRepo.PublishTopicEventAsync (cognitive 19) (Resonance.Core/Repo/BaseEventingRepo.cs)
- BaseEventingRepoFactory.InvokeFuncAsync (cognitive 21) (Resonance.Core/Repo/BaseEventingRepoFactory.cs)
- BaseEventingRepoFactory.InvokeFuncAsync (cognitive 21) (Resonance.Core/Repo/BaseEventingRepoFactory.cs)
- CommentedOutCode (Resonance.Core/Repo/Database/DbEventingRepo.cs)
- CommentedOutCode (Resonance.Demo/Program.cs)
- Coverage not measured — analyzer environment
- DbEventingRepo.MarkConsumedAsync (cognitive 24) (Resonance.Core/Repo/Database/DbEventingRepo.cs)
- DbEventingRepo.MarkConsumedAsync (cognitive 33) (Resonance.Core/Repo/Database/DbEventingRepo.cs)
- DbEventingRepo.MarkConsumedAsync (cyclomatic 18) (Resonance.Core/Repo/Database/DbEventingRepo.cs)
- EventConsumptionWorker.ExecuteConcrete (cognitive 16) (Resonance.Core/EventConsumptionWorker.cs)
- EventConsumptionWorker.ExecuteConcrete (cognitive 22) (Resonance.Core/EventConsumptionWorker.cs)
- EventConsumptionWorker.ExecuteConcrete (cyclomatic 17) (Resonance.Core/EventConsumptionWorker.cs)
- FileTooLong: Database/DbEventingRepo.cs (Resonance.Core/Repo/Database/DbEventingRepo.cs)
- Further orphaned files (smaller)
- Mock framework: Moq
- Mock framework: Moq
- MsSqlEventingRepo.ConsumeNextForSubscription (cognitive 64) (Resonance.Core/Repo/Database/MsSqlEventingRepo.cs)
- MsSqlEventingRepo.ConsumeNextForSubscription (cyclomatic 18) (Resonance.Core/Repo/Database/MsSqlEventingRepo.cs)
- MySqlEventingRepo.LockNextSubscriptionEventsAsync (cognitive 24) (Resonance.Core/Repo/Database/MySqlEventingRepo.cs)
- No tests discovered
- …and 8 more

## New (5)

- Coverage not measured — analyzer environment
- Mock framework: Moq
- Test runner surfaced no tests
- The term 'Eventing' is used in the repository naming (IEventingRepo, BaseEventingRepo, etc.), which is a non-standard gerund. Other parts of the codebase use 'Event' as a noun adjunct (e.g., EventConsumer, EventPublisher, TopicEvent).
- Two interfaces exist for event consumers: one synchronous (IEventConsumer) and one asynchronous (IEventConsumerAsync). While this may reflect a legacy vs modern pattern, the naming convention for the interface itself is inconsistent with the 'Async' suffix used for other async interfaces in the codebase (e.g., IEventPublisherAsync).

## Architecture

- Unchanged — 3 containers · 0 contexts · 0 edges
