g-andrade/backwater
62.3
Adequate · 2 October 2026
3.6k
lines of production code
Erlang
primary language
2
measurements over time
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.