Skip to content
CAI
Software that uses CAICheck a score

krasserm/akka-stream-eventsourcing

47.3

Weak · 21 September 2026

906

lines of production code

Scala

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an event-sourcing framework built on Akka, designed to manage state transitions and process events through a pluggable event log architecture. It provides implementations for both Akka Persistence and Apache Kafka, enabling robust event stream handling and dynamic request routing. The codebase includes comprehensive test coverage for serialization, routing, and event sourcing behaviors.

Features

Add Akka Stream-based event sourcing and event log implementations

This change introduces a new event sourcing framework for Akka, providing a \EventSourcing\ driver that manages state transitions via request and event handlers. It includes a \Router\ for dynamic processor selection and defines a \Delivery\ protocol for event streams. The update also adds concrete event log implementations for both Akka Persistence (backed by a \Journal\ and \EventWriter\/\EventReplayer\ actors) and Apache Kafka, along with the necessary Protobuf schemas (\EmittedFormat\, \PayloadFormat\) and custom serializers (\EmittedSerializer\, \PayloadSerializer\) to support these new capabilities.

src/main · high confidence

Test coverage

Added tests for event sourcing, request routing, and custom serializers; Test configuration for custom serializers and logging.

Dependencies

Updated Akka, Scala, and test dependencies

The project has been upgraded to Scala 2.12.3 and Akka version 2.5.10 (via Version.Akka). Test dependencies were also updated: ScalaTest was upgraded from 3.0.1 to 3.0.4, and the embedded Kafka test library was upgraded from 0.13.1 to 0.15.1. Additionally, logback and slf4j logging libraries were added for testing, and the protobuf plugin and header license settings were added to the build configuration.

(dependencies) · medium confidence

Upgrade build tooling and dependencies

The project has been upgraded to SBT 1.0.1 from 0.13.15, and dependencies have been updated: Akka to 2.5.4, Kafka to 0.11.0.0, and a new Protobuf dependency at 3.4.0. Additionally, SBT plugins for headers, protobuf generation, and protoc-jar have been added to the build configuration.

project · 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 57 → 47 (-10.0)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 99 (-0.8)
  • Architecture 100 → 69 (-31.0)
  • Maturity 44 → 50 (+5.8)
  • Readiness 41 → 26 (-14.8)
  • Security 100 → 100 (+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
  • complexity unreadable for .scala — churn × complexity hotspots could not be measured
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient

New (4)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • TodoComment (src/main/scala/akka/persistence/Journal.scala)
  • TodoComment (src/main/scala/akka/persistence/Journal.scala)

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

Survey your own repository

krasserm/akka-stream-eventsourcing 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 db6ebda9995e1bfea73d7b9d200525d614b71ae3 — 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.