Skip to content
CAI
Software that uses CAICheck a score

semotpan/springboot-api-validations

49.7

Weak · 21 September 2026

564

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Java-based web application that manages albums through a dedicated module. It exposes REST endpoints for album operations, specifically under the /jakarta/albums path. The codebase has been updated to use the Jakarta EE 9+ namespace, with corresponding adjustments to both the main application logic and its test suite.

Behavioural changes

Migrate album module from javax to jakarta namespace

The album module's Java packages and related web endpoints have been migrated from the javax namespace to the jakarta namespace. This includes renaming the package structure from demo.album.javax to demo.album.jakarta across controllers, services, and domain models, and updating the associated REST endpoint path from /javax/albums to /jakarta/albums.

src/main · high confidence

Test coverage

Updated test suite to reflect Jakarta EE namespace migration

Tests in the demo album module have been migrated from the javax to the jakarta namespace. This includes renaming test classes and updating package declarations and import statements to align with the new Jakarta EE 9+ package structure.

src/test · 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

Score

  • CAI 46 → 50 (+4.1)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 96 (-3.5)
  • Architecture 69 → 69 (+0.0)
  • Maturity 43 → 52 (+9.2)
  • Readiness 26 → 30 (+4.2)
  • Security 100 → 100 (+0.0)

Resolved (10)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No architecture or design documentation describing how validation rules are extracted into Spring controllers. (README.md)
  • No exposed public API
  • Scanner failed to run — not a clean result
  • Test reliability not included
  • change coupling unreadable for .java — no production change history could be paired for this repository's own source
  • 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 (20)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Duplicated block (21 lines × 2) (src/main/java/demo/album/jakarta/domain/Album.java)
  • No ADRs found
  • No assertions: internalServerError (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • No assertions: mediaTypeNotAcceptable (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • No assertions: mediaTypeNotSupported (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • No assertions: messageNotReadable (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • No assertions: methodNotSupported (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • No assertions: notFound (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • No assertions: typeMismatch (src/test/java/demo/shared/ApiExceptionHandlerTest.java)
  • Scanner failed to run — not a clean result
  • Scanner failed to run — not a clean result
  • TodoComment (src/main/java/demo/album/jakarta/application/service/CreateAlbumService.java)
  • TodoComment (src/main/java/demo/album/jakarta/application/service/CreateAlbumService.java)
  • TodoComment (src/main/java/demo/album/jakarta/application/service/CreateAlbumService.java)
  • TodoComment (src/main/java/demo/album/vavr/application/service/CreateAlbumService.java)
  • TodoComment (src/main/java/demo/album/vavr/application/service/CreateAlbumService.java)
  • TodoComment (src/main/java/demo/album/vavr/application/service/CreateAlbumService.java)
  • TodoComment (src/main/java/demo/album/vavr/application/service/CreateAlbumService.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

semotpan/springboot-api-validations 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 91aa14900342e044e42e4de591fd2c54f4e95b3a — 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.