Skip to content
CAI
Software that uses CAICheck a score

kafka4beam/wolff

71.0

Strong · 2 October 2026

3.8k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Wolff is an open-source Erlang library that functions as a Kafka producer, providing a structured API for publishing messages to Kafka clusters. It supports both static and dynamic topic configurations, offering features such as asynchronous and synchronous sending, configurable batching, retry policies, and memory-pressure handling. The system utilizes disk-based replay queues for buffering and integrates with Telemetry for observability, while also including comprehensive test suites and scripts for managing local Kafka test environments.

Features

Added Kafka test environment setup scripts and configurations

The scripts directory now includes a new test environment setup, adding a \.env\ file for network configuration, \docker-compose.yml\ for Zookeeper-based Kafka clusters, and \docker-compose-kraft.yml\ for KRaft mode. A \setup-test-env.sh\ script automates the provisioning of these environments, supporting Kafka versions from 0.9 through 4.0 by selecting the appropriate compose file based on the version (Zookeeper for \<3.0, KRaft for \>=3.0) and creating initial test topics.

scripts · high confidence

Initial open-source release of Wolff Kafka producer

This change introduces the Wolff Kafka publisher as an open-source project, adding the Apache 2.0 license, a NOTICE file acknowledging its origin as a fork of the EMQ Technologies upstream, and a comprehensive README detailing its features such as disk-based replay queues, per-partition connection management, and auto-partition refresh. It also establishes the build infrastructure with a Makefile, rebar3 configuration, and test environment scripts.

(repo-wide) · high confidence

Initial release of the Wolff Kafka producer library

This change introduces the Wolff library, a new Erlang-based Kafka publisher. It provides a structured API for managing supervised clients and producers, supporting both static and dynamic topic configurations. Key capabilities include asynchronous and synchronous message sending, configurable batching (via \max\_linger\_ms\/\bytes\), retry policies (\max\_retry\), and memory-pressure handling (\drop\_if\_highmem\). The library integrates with \telemetry\ for observability, exposing metrics for inflight requests, queue sizes, and drop reasons, and relies on \kafka\_protocol\ and \replayq\ for underlying transport and disk buffering.

src · high confidence

Introduce Wolff configuration and registry macros

The Wolff library now exposes a central header file defining key constants and macros for the system. This includes error reason atoms (such as \message\_expired\ and \max\_retry\_exceeded\), the default Kafka message byte limit (1,000,000 bytes), and the names of the global ETS tables used for client and producer registration. It also defines macros for namespace-topic pairing and partition handling, establishing the foundational types and identifiers used by the client.

include · high confidence

Test coverage

Added comprehensive test suite for Wolff Kafka client

Added new test files including \wolff\_bench.erl\ for performance benchmarking, \wolff\_client\_SUITE.erl\ for client lifecycle and connection handling, \wolff\_dynamic\_topics\_SUITE.erl\ for dynamic topic support, and \wolff\_supervised\_tests.erl\ for supervised producer/client management. These tests cover scenarios such as auto-topic creation, leader connection retries, reconnection on recent disconnect, dynamic topic expiration, and telemetry event logging.

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

Lenses

  • Code Health 96 → 96 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 59 → 59 (+0.0)
  • Readiness 68 → 65 (-2.8)
  • Security 100 → 100 (+0.0)

Resolved (1)

  • Coverage not measured — no coverage collector is wired up

New (4)

  • Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
  • Documentation: no contributor guidance (README.md)
  • Documentation: no usage examples (README.md)
  • No dependency lockfile committed (rebar.config)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

kafka4beam/wolff 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 4feffa6534a960377507fb2dc840db07548b2533 — 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.