Skip to content
CAI
Software that uses CAICheck a score

g-andrade/backwater

62.3

Adequate · 2 October 2026

3.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

Backwater is an Erlang and Elixir library designed for performing remote procedure calls between nodes without relying on the Erlang distribution protocol, making it suitable for cross-datacenter communication over unsecure or unstable networks. It provides a complete client and server implementation that leverages Cowboy and Hackney for HTTP handling, featuring HTTP signature-based authentication, gzip compression, and configurable module exposure. The system includes comprehensive test coverage for server configuration, SSL support, and error handling to ensure reliability in diverse network conditions.

Features

Initial release of Backwater intercluster RPC

Backwater is introduced as a new Erlang/Elixir library for performing remote procedure calls between nodes without relying on the Erlang distribution protocol, making it suitable for cross-datacenter communication over unsecure or unstable networks. The application depends on Cowboy and Hackney for HTTP handling and client operations, and provides a complete server and client implementation including HTTP signature-based authentication, gzip compression, and configurable module exposure.

src · high confidence

Behavioural changes

Library rebranded to backwater with modernized build, documentation, and CI

The application has been renamed from rpcaller to backwater and restructured with a new Makefile-based build system, erlfmt code formatting, and EEP-48 native documentation rendered via ExDoc. CI has moved from Travis to GitHub Actions, supporting OTP 26–29 and testing against both ranch 1.x and 2.x. The library now requires OTP 26+ (minimum declared as 22 but enforced at 26), upgrades cowboy to \~\> 2.9 and hackney to \>= 1.17.0 (supporting 1.x through 4.x), and removes legacy Elixir integration tests in favor of Erlang-side coverage.

(repo-wide) · high confidence

Test coverage

Add test suite for backwater server configuration and SSL support

Added a new Common Test suite (backwater\_SUITE) that validates server startup configuration, including error handling for invalid secrets, exposed modules, and decode options, as well as testing for reference clashes and function calls. The suite also includes test cases for compressed arguments and results, and introduces SSL test infrastructure with new server certificate and key files to support HTTPS testing.

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

Score

  • CAI 64 → 62 (-2.2)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 97 → 97 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 45 → 45 (-0.0)
  • Readiness 76 → 62 (-14.7)
  • Security 80 → 91 (+11.4)

Resolved (3)

  • Coverage not measured — no coverage collector is wired up
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

New (4)

  • Medium CVE: EEF-[CVE redacted] (rebar.lock)
  • Medium CVE: EEF-[CVE redacted] (rebar.lock)
  • Outdated: cowboy
  • Outdated: hackney

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/backwater 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 b2f5fce252b65bf551c9ccef73f92ef76a41cc7b — 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.