Skip to content
CAI
Software that uses CAICheck a score

g-andrade/aequitas

75.5

Strong · 2 October 2026

1.9k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Aequitas is an Erlang library designed to regulate fairness, likely within distributed systems or request handling. It manages 'categories' (formerly groups) of actors using a supervision tree and supports both legacy dynamic groups and new static configuration maps. The system provides APIs to start, stop, and manage these categories, with comprehensive testing covering various statistical scenarios and configuration modes.

Behavioural changes

Modernized build system, CI, and documentation tooling

The project has replaced Travis CI with GitHub Actions and updated its supported Erlang/OTP range to versions 24 through 29. The build and development workflow now uses \erlfmt\ for code formatting, \rebar3\_hank\ for dead-code detection, and \elvis\ for linting, with these plugins conditionally disabled on older OTP versions via \rebar.config.script\. Documentation generation has been upgraded to use \ex\_doc\ with EEP-48 native attributes (\-moduledoc\/\-doc\), replacing the previous \edoc\-based approach and requiring OTP 27+ for the new doc attributes.

(repo-wide) · high confidence

Renamed groups to categories and introduced static configuration support

The library has renamed its core concept from 'groups' to 'categories' to better reflect its role as a fairness regulator. This change includes a new \aequitas\_boot\_categories\ module that automatically starts category handlers based on a static \categories\ map in the application environment (e.g., \aequitas\ -\> \categories\ -\> \\#{Category =\> Opts}\), replacing the previous \group\-based configuration format which is now considered legacy and incompatible with releases. The public API in \aequitas.erl\ has been updated to use \start/1\, \start/2\, and \stop/1\ for category management, and the internal supervision tree now includes a dedicated \aequitas\_category\_sup\ and \aequitas\_proc\_reg\ to manage these handlers.

src · high confidence

Test coverage

Added Common Test suite for aequitas configuration and group-based scenarios; Added test configuration for static category settings.

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 74 → 75 (+1.0)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 98 → 98 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 66 → 66 (+0.1)
  • Readiness 76 → 76 (+0.0)
  • Security 80 → 87 (+6.8)

Resolved (3)

  • Coverage not measured — no coverage collector is wired up
  • Documentation: no installation or build instructions (README.md)
  • Hotspot: src/aequitas_category.erl (src/aequitas_category.erl)

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

Survey your own repository

g-andrade/aequitas 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 e6f80c1cdd59bbad7026291574b0a2550e7b42b0 — 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.