Skip to content
CAI
Software that uses CAICheck a score

dddplus/dddplus-archetype-demo

58.1

Adequate · 21 September 2026

749

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 Warehouse Management System (WMS) inbound module that manages the creation and orchestration of shelving tasks. It implements a domain-driven design to handle the full lifecycle of putaway operations, including anti-duplication checks, stock reservation, and persistence. The architecture separates domain logic from infrastructure concerns, supporting multi-step process execution with rollback capabilities.

Features

Add shelving task API and application bootstrap

Introduced a new public API for managing shelving tasks, including the ShelvingTaskApi interface and its associated request/response DTOs (AddShelvingTaskRequest, AddShelvingTaskResponse). The application now includes a Java Bootstrap class and Spring configuration files (applicationContext.xml, log4j2.xml) to initialize the WMS-IB service.

wms-ib/wms-ib-api · medium confidence

Added application service and facade for creating shelving tasks

Introduced the application layer component \ShelvingTaskUseCase\ which orchestrates the creation of shelving tasks by translating requests to domain models and invoking the domain service. Additionally, added the RPC facade \ShelvingTaskApiProvider\ to expose this functionality via a remote procedure call interface, handling request translation, trace ID management, and exception wrapping.

wms-ib/wms-ib-application · high confidence

Added default shelving task step orchestration

The domain layer now includes a default implementation for deciding the sequence of steps for a shelving task. The new \DecideStepsAbility\ class delegates to \DefaultDecideStepsExt\, which provides a hardcoded execution order for the 'AddShelvingTask' activity: AntiDup, Recommend, Stock, Persist, and Preload. This establishes the baseline business logic for task processing.

wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain/ability · high confidence

Added domain steps for shelving task creation

Added domain step implementations for the shelving task creation process, including an abstract base step, an executor, and specific steps for anti-duplication, persistence, preloading, recommendation, and stock reservation.

wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain/step · high confidence

Added shelving task creation capability

A new domain service, ShelvingTaskService, was added to handle the creation of shelving tasks. The service orchestrates the task creation process by dynamically determining the required steps via a DecideStepsAbility and then executing them through a ShelvingTaskStepsExecutor, supporting multi-step process execution with rollback and re-orchestration capabilities.

wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain/service · medium confidence

Initial domain layer structure via DDDplus archetype

The domain layer for the WMS-IB module has been initialized with a new project skeleton generated by the DDDplus archetype. This introduces a core domain class annotated for bounded context management and a Spring component listener that logs a startup confirmation message when the DDDplus framework initializes.

wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain · medium confidence

Introduced domain model for shelving tasks

Added the core domain model for the shelving task feature, including the \ShelvingTask\ aggregate root, a \ShelvingTaskCreator\ for data transfer, and value objects (\ShelvingTaskItem\, \ShelvingTaskItemDelegate\) to manage task details. This establishes the internal structure for creating and managing putaway tasks within the WMS system.

wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain/model · high confidence

Behavioural changes

Domain layer introduces facade interfaces for infrastructure dependencies

The domain layer now defines a set of interface contracts (facade) that decouple business logic from infrastructure concerns. Specifically, the \io.wms.ib.domain.facade\ package has been created to hold these interfaces, including \IShelvingTaskRepository\ for data persistence and sub-packages for cache, lock, MQ, and RPC dependencies. This structure allows the domain to declare its needs without depending on specific implementations, facilitating easier business logic review and cleaner separation of concerns.

wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain/facade · high confidence

Implemented infrastructure for shelving tasks

Added the infrastructure layer for shelving tasks, including persistent objects (ShelvingTaskPo, ShelvingTaskItemPo) and their corresponding translators for mapping domain models to database entities. The ShelvingTaskRepository now implements IShelvingTaskRepository to save tasks and their items in a single transaction via ShelvingTaskManager, ensuring that both the main header and detail tables are updated together.

wms-ib/wms-ib-infrastructure · medium confidence

Test coverage

Added architecture and unit tests for the WMS Inbound module

Added tests for the WMS Inbound (wms-ib) module, including an architecture test to enforce structural rules and unit tests for the ShelvingTask domain model and service.

wms-ib/wms-ib-spec · high confidence

Dependencies

Add wms-ib project structure and update log4j-core

The wms-ib project is introduced with a multi-module Maven structure (api, application, domain, infrastructure, facade, main, spec, test). The parent pom.xml defines dependencies for Lombok, SLF4J, JUnit, JaCoCo, Spring, MapStruct, and DDDplus. The wms-ib-test module includes log4j-core version 2.17.1, reflecting the latest bump in the dependency tree.

(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

Score

  • CAI 61 → 58 (-2.4)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 99 (-0.8)
  • Architecture 100 → 85 (-15.3)
  • Maturity 86 → 86 (+0.0)
  • Readiness 24 → 24 (+0.0)
  • Security 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 (7)

  • 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)
  • Scanner failed to run — not a clean result
  • Scanner failed to run — not a clean result
  • TodoComment (wms-ib/wms-ib-domain/src/main/java/io/wms/ib/domain/model/ShelvingTask.java)
  • TodoComment (wms-ib/wms-ib-facade/src/main/java/io/wms/ib/facade/rpc/ShelvingTaskApiProvider.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

dddplus/dddplus-archetype-demo 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 7bd894ab9aaf587ac26615cf74960dec715f352f — 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.