devinus/poolboy
54.8
Adequate · 22 September 2026
350
lines of production code
Erlang
primary language
6
measurements over time
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.