Skip to content
CAI
Software that uses CAICheck a score

elli-lib/elli

60.9

Adequate · 23 September 2026

2.1k

lines of production code

Erlang

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Elli is an Erlang-based web server designed for building HTTP APIs, featuring a simple request-response model with middleware support. It provides core capabilities for handling HTTP traffic, including SSL/TLS encryption, automatic compression, and request pre- and post-processing through a configurable middleware system. The system includes utilities for performance benchmarking and a comprehensive test suite for validation.

Features

Added benchmarking and testing scripts

Added new scripts in the bin directory to support performance testing and validation. This includes ab.sh for running Apache Benchmarks, test.py for measuring request-per-second throughput using Eventlet, and chunked.py for testing chunked transfer encoding. Additionally, shell.escript was added to load the elli application modules.

bin · medium confidence

Elli 3.3.0 release with middleware and SSL support

Elli is released as version 3.3.0, introducing a configurable middleware system that allows request pre-processing, response post-processing, and request short-circuiting. The release adds full SSL/TLS support for secure connections, a compression middleware for automatic gzip/deflate encoding, and helper modules for testing callbacks. It also includes example callback implementations, a request helper module for accessing headers, query parameters, and body data, and updates the application source to include all new modules.

src · high confidence

Initial release of Elli web server

This change introduces the core Erlang web server for HTTP APIs, providing a simple request-response model with middleware support, instrumentation, and SSL capabilities. The release includes a comprehensive CHANGELOG, an overview of features and extensions, and a README with installation and usage examples. The project is configured with rebar3, targeting OTP 24+, and includes necessary build files (rebar.config, elvis.config) and a MIT license.

(repo-wide) · high confidence

Behavioural changes

Updated req record with new fields and configuration macro

The \elli.hrl\ header file was added, defining the \\#req\ record with new fields including \scheme\, \host\, \port\, \raw\_path\, \original\_headers\, and \callback\. It also introduces the \?EXAMPLE\_CONF\ macro for callback configuration.

include · high confidence

Test coverage

Migrate test suite from EUnit to Common Test

The project's test suite has been migrated from EUnit to the Common Test framework. This change introduces new Common Test suite modules (elli\_SUITE, elli\_handover\_SUITE, elli\_http\_SUITE, elli\_middleware\_SUITE, and elli\_ssl\_SUITE) along with supporting test utilities (elli\_test.hrl, elli\_metrics\_middleware.erl) and SSL test certificates, replacing the previous EUnit-based tests.

test · 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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 53 → 61 (+7.8)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 88 → 95 (+7.5)
  • Architecture 100 → 100 (+0.0)
  • Maturity 31 → 31 (+0.0)
  • Readiness 64 → 78 (+13.7)
  • Security 71 → 97 (+26.5)

Resolved (12)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No exposed public API
  • Off-boarding risk: anonymized user #1
  • Test reliability not included
  • TooManyMethods: elli_http (src/elli_http.erl)
  • complexity unreadable for .erl, .hrl — churn × complexity hotspots could not be measured

New (16)

  • Coverage not measured — no coverage collector is wired up
  • Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Orphaned knowledge (src/elli_http.erl)
  • TodoComment (src/elli.erl)
  • TodoComment (src/elli.erl)
  • TodoComment (src/elli_example_callback_handover.erl)
  • TodoComment (src/elli_http.erl)
  • TodoComment (src/elli_http.erl)
  • TodoComment (src/elli_middleware.erl)
  • Workflow token permissions not restricted

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

Survey your own repository

elli-lib/elli 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 23 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 c874c42b5d5c1fb7477bc1655134d1de9cbe0223 — 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-955b9cee9818.