Skip to content
CAI
Software that uses CAICheck a score

nomasystems/ndto

70.0

Strong · 2 October 2026

4.3k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an Erlang library that parses JSON Schema specifications (specifically Draft-04) and generates corresponding validation code. It provides a modular architecture for handling various schema types and enforces runtime data validation against defined constraints. The project includes a comprehensive test suite using property-based testing to ensure the accuracy of both the parsing and generation processes.

Features

Initial release of ndto schema validation and code generation

This change introduces the core ndto library, enabling users to parse JSON Schema specifications (specifically Draft-04) and generate Erlang validation modules. The update adds the \ndto\_parser\ interface and \ndto\_parser\_json\_schema\_draft\_04\ implementation for reading schemas, \ndto\_generator\ for producing validation code, and \ndto\_validation\ for runtime checks. It also updates the application version to 0.4.0 and adds \compiler\ and \syntax\_tools\ as dependencies.

src · high confidence

Behavioural changes

Modularized NDTO generator into type-specific modules

The NDTO generator implementation has been refactored to split validation logic for different JSON Schema types into separate, dedicated modules (such as ndto\_generator\_array, ndto\_generator\_object, ndto\_generator\_string, and ndto\_generator\_integer). Each module implements the ndto\_generator behavior to handle specific schema keywords (e.g., min/max constraints, pattern matching, or nested property validation), replacing the previous monolithic structure with a modular architecture that improves code organization and maintainability.

_src/ndto\generator · high confidence

Test coverage

Added property-based tests for DTO validation logic; Added test configuration files for the test suite; Initial test suite for ndto validation and JSON Schema parsing.

Housekeeping

Add contribution guidelines and update build configuration

This change introduces a CONTRIBUTING.md file to provide developers with guidelines for reporting bugs, requesting features, and submitting code changes, including branch naming conventions and commit message standards. It also updates the project's build configuration (rebar.config) to include new dependencies (ncalendar, gradualizer, rebar3\_ex\_doc) and test dependencies (nct\_util, triq), adds CI badges and documentation links to the README, and updates the .gitignore to exclude the doc/ directory.

(repo-wide) · 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 64 → 70 (+6.1)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 94 → 94 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 48 → 52 (+3.7)
  • Readiness 61 → 78 (+16.8)
  • Security 92 → 92 (+0.0)

Resolved (1)

  • Coverage not measured — no coverage collector is wired up

New (2)

  • Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
  • Floating source dependency: ncalendar

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

Survey your own repository

nomasystems/ndto 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 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit e67f44ac541470ddd650677acc50596060b55301 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.