Skip to content
CAI
Software that uses CAICheck a score

redhat-developer-demos/eda-tutorial

31.2

Weak · 21 September 2026

1.7k

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add account, transaction, and Debezium transformer services

Introduced new microservices for the bank application: the account service (handling account and balance management, with REST endpoints and Camel routes for AMQP and Kafka), the transaction service (handling credit/debit operations and transaction history), and a Debezium-based transaction transformer (converting database change events into transaction messages). These additions implement the core domain logic and event-driven communication between services.

(repo-wide) · high confidence

Dependencies

Add Maven build descriptors for multiple microservices

This change introduces new \pom.xml\ build files for various microservices, including \account\, \transaction\, \kafka-sender\, \kafka-receiver\, \debezium-transaction-transformer\, \enmasse-receiver\, \enmasse-sender\, \account-sync\, and \transaction-sync\. The services are configured with either Spring Boot 2.1.3 or Quarkus 0.14.0, incorporating dependencies for Camel, Kafka, REST, and testing.

(dependencies) · high 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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 31 → 31 (+0.3)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 99 (-1.3)
  • Architecture 100 → 97 (-3.5)
  • Maturity 53 → 38 (-14.6)
  • Readiness 21 → 26 (+4.6)
  • Security 18 → 21 (+2.5)
  • Domain Modelling 92 → 78 (-13.9)
  • Accessibility 41 → 41 (+0.0)

Resolved (22)

  • Build action pinned to a mutable branch
  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • High IaC: DS-0002 (code/bank/debezium-transaction-transformer/Dockerfile)
  • High IaC: DS-0002 (code/enmasse/enmasse-sender/Dockerfile)
  • High IaC: DS-0002 (code/kafka/kafka-sender/Dockerfile)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • LLM evaluation failed
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • No exposed public API
  • Scanner failed to run — not a clean result
  • Secret: generic-api-key (projects/enmasse/enmasse-sender/src/main/resources/application.properties)
  • Secret: generic-api-key (projects/enmasse/enmasse-sender/src/main/resources/application.properties)
  • …and 2 more

New (42)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.adoc)
  • Documentation: no project overview (README.adoc)
  • Duplicated block (24 lines × 2) (code/enmasse/enmasse-receiver/src/main/java/com/redhat/developers/MessageRepository.java)
  • Duplicated block (44 lines × 2) (code/bank/account/src/main/java/com/redhat/developers/account/model/AccountNumber.java)
  • Duplicated block (7 lines × 3) (code/kafka/kafka-qreceiver/src/main/java/com/redhat/developers/eda/KafkaReceiverApplication.java)
  • Duplicated block (7 lines × 4) (code/bank/account/src/main/java/com/redhat/developers/account/AccountApplication.java)
  • Duplicated block (7 lines × 4) (code/bank/account/src/main/java/com/redhat/developers/account/AccountApplication.java)
  • Duplicated block (8 lines × 2) (code/bank/account/src/main/java/com/redhat/developers/account/AccountApplication.java)
  • Duplicated block (85 lines × 4) (code/bank/account/src/main/java/com/redhat/developers/account/EnmasseProperties.java)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Low IaC: DS-0026 (code/kafka/transaction/src/main/docker/Dockerfile.native)
  • Low IaC: DS-0026 (container-images/mysql/Dockerfile)
  • Medium IaC: WD-COMPOSE-0002 (code/kafka/docker-compose.yaml)
  • Medium IaC: WD-COMPOSE-0002 (code/kafka/docker-compose.yaml)
  • Medium IaC: WD-DOCKER-0003 (container-images/mysql/Dockerfile)
  • Medium: security finding (details withheld)
  • …and 22 more

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

Survey your own repository

redhat-developer-demos/eda-tutorial 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 2cd753b3b6d72e80b9ca45815e9c040fd5c30598 — 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-28e75b8e3254.