Skip to content
CAI
Software that uses CAICheck a score

devinus/poolboy

54.8

Adequate · 22 September 2026

350

lines of production code

Erlang

primary language

6

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a process pool management library, likely for Erlang, that manages resource pooling and worker lifecycle. It provides a modernized API for checking out and checking in workers, supporting both blocking and non-blocking operations with configurable timeouts. The implementation has been refactored to use gen\_server instead of gen\_fsm and includes comprehensive property-based testing to verify pool behavior under various conditions.

Behavioural changes

Build system migrated to Rebar3 with updated CI and licensing

The project has migrated its build tooling from Rebar/Rebar2 to Rebar3, introducing a new rebar.config and rebar.lock file while updating the Makefile to invoke rebar3 commands. Continuous integration is now configured via .travis.yml to test against Erlang/OTP versions 17.4 through 21.0.4. Additionally, the software license has been changed to the ISC License, and a .editorconfig file has been added to standardize code formatting.

(repo-wide) · high confidence

Migrate poolboy from gen\_fsm to gen\_server and modernize the API

The core poolboy module has been refactored from the legacy gen\_fsm behavior to gen\_server, which changes the internal process model but maintains a compatible external API. This change introduces new function signatures for checkout (supporting blocking/non-blocking and timeout parameters), adds a transaction helper for automatic checkin, and provides a child\_spec generator that supports both the legacy tuple format and the modern map format for OTP 21+ compatibility. Additionally, the application metadata has been updated to version 1.5.2, and the build structure has been moved to src/ with rebar3 conventions.

src · high confidence

Test coverage

Added property-based and unit tests for poolboy

Added a new property-based test suite using EQC (Equivalence Checking) to verify the behavior of the poolboy library under various conditions, including sequential and parallel execution models. Additionally, new unit tests were added to cover specific scenarios such as pool startup, overflow handling, worker death, transaction timeouts, and strategy behaviors (LIFO/FIFO). A test worker module was also introduced to support these 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

Score

  • CAI 54 → 55 (+1.1)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 89 → 96 (+6.9)
  • Architecture 69 → 69 (+0.0)
  • Maturity 37 → 49 (+12.3)
  • Readiness 58 → 50 (-8.4)
  • Security 100 → 63 (-36.7)

Resolved (6)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • Test reliability not included
  • complexity unreadable for .erl — churn × complexity hotspots could not be measured
  • dormant codebase — no living knowledge left to concentrate

New (10)

  • Coverage not measured — no coverage collector is wired up
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • No SBOM
  • No artifact signing
  • No build provenance
  • Rotate the exposed credentials — git history can't be un-committed
  • Secret: generic-api-key (.travis.yml)
  • XxxComment (test/poolboy_tests.erl)
  • XxxComment (test/poolboy_tests.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

devinus/poolboy 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 22 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 9212a8770edb149ee7ca0bca353855e215f7cba5 — 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-821afab8930d.