Skip to content
CAI
Software that uses CAICheck a score

g-andrade/taskforce

70.4

Strong · 2 October 2026

745

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Taskforce is an Erlang library for executing concurrent tasks, providing a modern map-based API for defining and running parallel operations with configurable timeouts and worker limits. It supports OTP 24 through 29 and includes comprehensive tooling for static analysis, type checking, and documentation generation. The system maintains backward compatibility with its legacy list-based interface while encouraging migration to the new map-centric design.

Features

Add example demonstrating map-based task execution

A new Erlang example file has been added to the examples directory that demonstrates how to use the map-based interface for executing concurrent tasks. The example calculates the first 1,000 prime numbers by creating a map of tasks using \maps:from\_list\ and executing them via \taskforce:execute\, illustrating the recommended approach over the deprecated list-based functions.

examples · high confidence

Add taskforce record and type definitions

The include/taskforce.hrl file introduces the core data structures for the taskforce library, defining types and records for tasks (tf\_task), bidding operations (tf\_bidding), and their results (tf\_bidding\_result). This enables users to structure task execution requests with specific functions, arguments, and timeouts, and to handle the resulting completed tasks and timeout information.

include · high confidence

Behavioural changes

Introduce map-based task API and deprecate legacy list-based functions

The public API has shifted from a list-based interface to a map-based one: users now create tasks with \task/3\ and execute them with \execute/1\ or \execute/2\, passing and receiving data as maps (e.g., \tasks()\, \execution\_options()\, \result()\). The previous functions \new\_task/4\ and \execute\_tasks/1\–\/3\ are deprecated and will be removed in the next major release. This change is gated by the \E48\ preprocessor flag, indicating alignment with the EEP-48 documentation standard, and the application now explicitly lists its modules and dependencies in \taskforce.app.src\.

src · high confidence

Modernized build tooling and documentation to EEP-48

The project has migrated its build system to a modern rebar3-based setup with a comprehensive Makefile, introducing dev tooling for code formatting (erlfmt), static analysis (hank, elvis), and type checking (dialyzer). Documentation has been updated to use native EEP-48 attributes (-moduledoc/-doc) and is now generated via rebar3 edoc and ex\_doc, replacing the legacy edown tooling. The library now supports OTP 24 through 29, with older OTP versions having specific dev plugins removed to ensure compatibility.

(repo-wide) · high confidence

Test coverage

Added tests for the new map-based task interface

Added a new EUnit test suite (test/taskforce\_test.erl) that verifies the new map-based interface for submitting and executing tasks, including validation of timeout handling and worker limits, alongside tests for the deprecated list-based interface to ensure backward compatibility.

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 70 → 70 (+0.5)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 64 → 64 (+0.0)
  • Readiness 76 → 76 (+0.0)
  • Security 80 → 87 (+6.8)

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)

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/taskforce 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 e78fa768cd064a5b2e4d8bd8169b7f5921b35332 — 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.