Skip to content
CAI
Software that uses CAICheck a score

soooban/AxonDemo

42.7

Weak · 22 September 2026

2.1k

lines of production code

Java

primary language

7

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a contract management service built on an event-sourcing architecture using the Axon Framework. It provides RESTful endpoints for creating, updating, and deleting contracts, with state persistence handled by a custom JPA-based event store. The application also incorporates distributed locking via Shedlock to ensure consistency across instances.

Features

Added contract management capabilities via event sourcing

Introduced a new contract management feature built on an event-sourcing architecture. This includes a REST controller for creating, updating, and deleting contracts, along with the underlying aggregate, command gateway, and query commands. The system persists contract state through a custom JPA-based event store and provides a stream-based event dispatcher to handle domain events, enabling robust state reconstruction and event-driven updates.

src/main/java · high confidence

Dependencies

Add Axon Framework, Shedlock, and Guava dependencies

The project now includes several new dependencies: the Axon Framework (axon-spring-boot-starter 4.1.1 and axon-springcloud 4.1), the Shedlock library for distributed locking (shedlock-spring and shedlock-provider-jdbc-template 2.5.0), and an updated version of Google Guava (30.0-jre or higher).

(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 54 → 43 (-10.8)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 99 → 99 (-0.2)
  • Architecture 100 → 96 (-4.3)
  • Maturity 70 → 48 (-22.0)
  • Readiness 18 → 15 (-2.7)
  • Security 90 → 90 (+0.0)
  • Domain Modelling 100 → 67 (-32.9)
  • Event Sourcing 100 → 100 (+0.0)

Resolved (7)

  • 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
  • Scanner failed to run — not a clean result
  • Test reliability not included
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness

New (12)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (6 lines × 2) (src/main/java/com/craftsman/eventsourcing/es/upcaster/ContractCreatedEventUpCaster.java)
  • Duplicated block (7 lines × 2) (src/main/java/com/craftsman/eventsourcing/es/command/UpdateContractCommand.java)
  • Duplicated block (8 lines × 2) (src/main/java/com/craftsman/eventsourcing/es/upcaster/ContractCreatedEventUpCaster.java)
  • Leaked secret: high-entropy-secret (src/main/java/com/craftsman/eventsourcing/es/continuance/producer/health/DataRepairController.java)
  • No ADRs found
  • No assertions (empty test): contextLoads (src/test/java/com/craftsman/eventsourcing/EventSourcingApplicationTests.java)
  • Scanner failed to run — not a clean result
  • Scanner failed to run — not a clean result
  • Test project verifies nothing: event-sourcing (src/test/java/com/craftsman/eventsourcing/EventSourcingApplicationTests.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

soooban/AxonDemo 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 3a690f55a76515a00670e9a4cb10d991570a1d1e — 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-90d5d2fe38ee.