Skip to content
CAI
Software that uses CAICheck a score

eventopist/cellar

51.2

Adequate · 22 September 2026

678

lines of production code

Java

primary language

6

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Cellar is a Java-based event sourcing and CQRS library that persists domain events in a relational database and supports read model projections. It provides a SQL-backed event store and explicit APIs for managing state, utilizing Java SPI for implementation discovery. The system includes test coverage for projection logic and read model persistence, and is configured for Maven publishing.

Features

Initial release of Cellar event store

The repository is initialized with a BSD 3-Clause license and a README that documents the Cellar event store, a Java 8 implementation of event sourcing and CQRS that persists domain events in a relational database and supports projections. The project also includes a .gitignore to exclude Gradle cache and build directories, and a shell script to configure PostgreSQL credentials.

(repo-wide) · high confidence

Behavioural changes

Replaced reflection-based class discovery with Java SPI for event store implementation

The library now uses Java Service Provider Interface (SPI) to locate the SQL-based event store implementation, replacing the previous approach that relied on reflection to find classes. This change removes the \RawClassFinder\ utility and updates the \EventStoreProvider\ to load implementations via \ServiceLoader\. Additionally, the \AbstractProjector\ and \AbstractSqlBasedReadModelRepo\ classes now require explicit class arguments instead of inferring them via reflection, making the API more explicit and less brittle.

src/main · high confidence

Test coverage

Added tests for gift card projection and read model persistence

Added unit tests for the GiftCardDetail and GiftCardTransaction projectors, verifying that they correctly create and update read models when processing domain events. Included tests for the underlying SQL-based read model repositories to ensure data persistence and retrieval work as expected. Updated existing tests to use the new package structure and event types.

src/test · high confidence

Dependencies

Configure Maven publishing and signing for the Cellar library

The build configuration has been updated to support publishing the 'cellar' library to Maven repositories. This includes adding the 'maven-publish' and 'signing' plugins, configuring the Maven publication metadata (name, description, license, developer, SCM), and setting up the publishing repository (Sonatype OSSRH) with credentials. Additionally, the project's root name has been changed from 'cqrcellar' to 'eventopist-cellar' in settings.gradle.

(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 50 → 51 (+1.5)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 66 (-3.3)
  • Maturity 57 → 57 (+0.0)
  • Readiness 27 → 31 (+4.4)
  • Security 100 → 99 (-1.1)

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 IaC: WD-COMPOSE-0002 (docker-compose.yml)
  • No assertions: shouldCreateAndUpdateReadModels (src/test/java/org/eventopist/cellar/api/projections/GiftCardTransactionProjectorTest.java)

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

Survey your own repository

eventopist/cellar 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 22 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 ad70e947bd6a2880bd0debb2fb39299dfbb433c1 — 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-821afab8930d.