# Changelog

## Score

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

## Lenses

- Code Health 47 → 47 (-0.3)
- Architecture 87 → 91 (+4.6)
- Maturity 57 → 57 (+0.0)
- Readiness 45 → 45 (+0.6)
- Security 53 → 60 (+6.5)
- Domain Modelling 56 → 56 (+0.0)
- Event-Driven 86 → 86 (+0.0)

## Resolved (16)

- BarePragmaDisable (src/EventFly.Abstractions/Metadata/MetadataContainer.cs)
- Coverage not measured — analyzer environment
- Duplicated block (10–17 lines × 3) (src/EventFly.Domain/DomainService/AsynchronousDomainService.cs)
- Duplicated block (5–6 lines × 4) (examples/demo/Demo.Abstractions/Predicates/NumericPredicate.cs)
- Duplicated block (9–16 lines × 4) (src/EventFly.Domain/Subscribers/DomainEventSubscriber.cs)
- No assertions: InitialState_TestingFailedCommand_SuccessResultReplied (test/EventFly.Tests/Domain/Aggregates/AggregateTests.cs)
- No assertions: InitialState_TestingSuccessCommand_SuccessResultReplied (test/EventFly.Tests/Domain/Aggregates/AggregateTests.cs)
- No tests discovered
- The class `JobToJobMannagerScheduler` contains a typo ('Mannager' instead of 'Manager'). This is inconsistent with the correct spelling used elsewhere (e.g., `JobScheduler`, `IJobName`).
- The class name `ComittedEventTests` contains a typo ('Comitted' instead of 'Committed'). This is inconsistent with the correct spelling used elsewhere in the codebase (e.g., `CommittedEvent` in other files).
- The interface `IEventMetadata` and the class `EventMetadata` both expose a property named `EventName`. While one is an interface and one is a concrete class, the duplication of the `EventName` property name across these related metadata abstractions suggests a potential naming collision or lack of distinction between the contract and implementation.
- The method `AndSpeficication_ReturnsTrue_Correctly` contains a typo ('Speficication' instead of 'Specification'). This is inconsistent with the correct spelling used in the class name `SpecificationsTests` and other methods.
- TodoComment (src/EventFly.Abstractions/Aggregates/IDomainEvent.cs)
- TodoComment (src/EventFly.Domain/Commands/DefaultCommandValidator.cs)
- TodoComment (src/EventFly.Domain/Commands/DefaultCommandValidator.cs)
- TodoComment (test/EventFly.Tests/Domain/Specifications/SpecificationsTests.cs)

## New (14)

- Change coupling: IFixtureArranger.cs ↔ IFixtureAsserter.cs (src/EventFly.TestFixture/Internals/AggregateFixture/IFixtureArranger.cs)
- Coverage not measured — analyzer environment
- Duplicated block (10 lines × 2) (src/EventFly.Domain/Subscribers/DomainEventSubscriber.cs)
- Duplicated block (11 lines × 2) (src/EventFly.Domain/Subscribers/DomainEventSubscriber.cs)
- Duplicated block (13 lines × 2) (src/EventFly.Domain/DomainService/AsynchronousDomainService.cs)
- Duplicated block (5 lines × 4) (examples/demo/Demo.Abstractions/Predicates/NumericPredicate.cs)
- Largest orphaned file (src/EventFly.Application/Sagas/AggregateSaga/AggregateSaga.cs)
- Largest orphaned file (src/EventFly.Domain/Aggregates/EventSourcedAggregateRoot.cs)
- NoWarnInCsproj (Directory.Build.props)
- Test runner surfaced no tests
- The class name `ComittedEventTests` contains a typo ('Comitted' instead of 'Committed'). This typo is also present in the method name `InstantiatingComittedEvent...`. This is a spelling inconsistency/typo in the codebase.
- The test class `ComittedEventTests` (typo) tests `DomainEvent`. The concept of a 'Committed Event' is central, but the typo in the test class name creates a visual inconsistency with the correct spelling used in the domain model (`DomainEvent`, `ICommittedEvent` in other places like `EventFly.Aggregates.ICommittedEvent` implied by context).
- TodoComment (src/EventFly.Domain/Commands/DefaultCommandValidator.cs)
- TodoComment (src/EventFly.Domain/Commands/DefaultCommandValidator.cs)

## API surface

- Unchanged — 5 HTTP endpoints

## Architecture

- Unchanged — 2 containers · 4 contexts · 6 edges
