Skip to content
CAI
Produce a survey ↗Verify a survey

IvanRublev/Domo

Domo is an Elixir library that provides compile-time type safety and validation for domain models and Ecto changesets. It automatically generates type-ensuring functions to verify struct integrity and preconditions, ensuring data consistency before runtime. The system also integrates with Phoenix for hot-reload compatibility and offers benchmarking tools to compare performance against alternative validation approaches.

51.8

Adequate · 4 August 2026

6.7k

lines of production code

Elixir

primary language

1

bus factor · 6 authors in all

5

measurements over time

CAI band scale
CAI trend line

How it got here

2020 · Structural type enforcement and validation

The project introduced compile-time type ensurer generation and Ecto.Changeset validation to enforce structural type consistency and preconditions. This period focused on establishing a standardized code quality baseline and comprehensive test coverage for these new features, while removing legacy example applications.

7 changes

2021–2022 · compile-time type safety and example apps

The project shifted to generating type-ensuring functions at compile time, introducing a modular registry and dedicated compiler tasks to support Ecto and Phoenix hot-reload scenarios. This architectural change was accompanied by comprehensive test coverage and the creation of example applications to demonstrate the library's capabilities and performance.

15 changes

CAI lens gauges

Survey your own repository

IvanRublev/Domo 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 the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 4 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 18c08ab427 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.
CAI link cards