Skip to content
CAI
Software that uses CAICheck a score

davisp/erlang-native-compiler

43.8

Weak · 2 October 2026

1.6k

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 a stripped-down build tool for Erlang, rebranded as 'enc' (Erlang Native Compiler). It functions as a thin wrapper around the original 'rebar' codebase, delegating execution to the legacy 'rebar:main' function while removing most internal build logic and compilers. The tool retains the existing command-line interface but significantly reduces its code footprint and consolidates logging to a single module.

Behavioural changes

Logging macros now delegate to the rebar module

The INFO, WARN, and ERROR logging macros in include/rebar.hrl have been updated to call rebar:log/3 instead of rebar\_log:log/3. This change consolidates the logging interface, meaning log output is now handled directly by the rebar module rather than the separate rebar\_log module. The DEBUG macro has been removed entirely.

include · high confidence

Rebar renamed to enc and core build logic removed

The \rebar\ module has been renamed to \enc\, with the new \src/enc.erl\ acting as a thin wrapper that delegates all execution to the original \rebar:main/1\ function. Simultaneously, the majority of the build tool's internal implementation has been removed from the \src\ directory, including core modules like \rebar\_core\, \rebar\_base\_compiler\, and \rebar\_app\_utils\, as well as specific compilers and utilities such as \rebar\_abnfc\_compiler\, \rebar\_asn1\_compiler\, \rebar\_appups\, \rebar\_cleaner\, \rebar\_cover\_utils\, and \rebar\_ct\. This change significantly reduces the codebase footprint while preserving the existing command-line interface through the delegation layer.

src · high confidence

Rebrand application from Rebar to enc

The build tool application has been renamed from 'rebar' to 'enc' (Erlang Native Compiler). This change involves deleting the original rebar.app file and introducing a new enc.app file, which updates the application description and version while significantly reducing the list of included modules to a core subset (such as enc, rebar, rebar\_appups, etc.) and removing the extensive configuration for directory-specific processing modules and recursive commands found in the previous version.

ebin · high confidence

Rebranding of the native code compiler tool from 'rebar' to 'enc'

The self-contained escript used to compile Erlang native code (NIFs) has been renamed from 'rebar' to 'enc'. This change updates the generated executable name, the associated application file (enc.app), and all related build artifacts. The bootstrap script now produces an 'enc' script instead of 'rebar', and the README has been updated to reflect the new name and provide usage instructions for integrating 'enc' with rebar.config hooks.

(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 46 → 44 (-2.4)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 96 → 96 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 50 → 50 (+0.0)
  • Readiness 15 → 10 (-5.1)
  • Security 100 → 100 (+0.0)

Resolved (1)

  • Documentation: no architecture or design documentation (README.md)

New (1)

  • Documentation: no installation or build instructions (README.md)

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

Survey your own repository

davisp/erlang-native-compiler 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 ba13cfbf28320dec113e8a4ad32de43ea784dcb5 — 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.