Skip to content
CAI
Software that uses CAICheck a score

bringmeister/event-sourcing-with-kotlin

43.5

Weak · 21 September 2026

703

lines of production code

Kotlin

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This is a product management system that has been refactored to use an event sourcing architecture, where the current state is derived from a sequence of persisted events. It features a message-based communication layer and includes a demo web application for visualizing the event stream and product state. The codebase is supported by updated tests that validate the new message and event handling logic.

Behavioural changes

Migrate from event-based to message-based communication and adopt event sourcing

The application now uses a message-based communication pattern, replacing the previous event-based approach. This is supported by the introduction of an EventStore for persistence, shifting the system towards an event sourcing architecture where the current state is derived from a sequence of events. Additionally, a demo web application has been added to visualize the event stream and current product state.

src/main · high confidence

Test coverage

Updated tests to align with the new message-based architecture

The acceptance and domain tests have been updated to reflect the shift from an event-based to a message-based architecture. The tests now use \MessageBus\ and \MessageListener\ instead of \EventBus\ and \EventListener\, and \StubbedEventStore\ instead of \StubbedProductRepository\. Additionally, the tests verify that the \Product\ domain entity correctly applies events like \ProductCreatedEvent\, \MasterDataUpdatedEvent\, and \MediaDataUpdatedEvent\ to update its state, and that it throws events when handling commands.

src/test · high confidence

Dependencies

Update Gradle build configuration syntax and repository definitions

The Gradle build file has been updated to use modern Groovy syntax, specifically switching from the deprecated \ext\-based repository configuration to the standard \repositories\ block. Additionally, string literals in dependency declarations have been converted from single quotes to double quotes.

(dependencies) · medium confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 53 → 43 (-9.4)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 82 → 58 (-24.4)
  • Readiness 39 → 26 (-13.7)
  • Security 100 → 89 (-11.4)
  • Accessibility 47 → 47 (+0.0)

Resolved (8)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • Test reliability not included
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient
  • single-maintainer — knowledge-concentration (bus factor) risk

New (4)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • High interface indirection
  • No dependency advisory monitoring

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

bringmeister/event-sourcing-with-kotlin was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 237a48e37e71b467a02e5732010ad9d0339569c3 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.