jet/FsKafka
58.7
Adequate · 2 October 2026
864
lines of production code
F#
primary language
2
measurements over time
What this system is
This system is an F\# library wrapper for Confluent.Kafka that provides Kafka producer and consumer abstractions with support for message batching and headers. It includes a monitoring module designed to detect stalled consumers or growing lag by analyzing partition progress. The project has migrated from legacy F\# implementations and Paket to modern MSBuild SDK-style projects targeting .NET 8 and .NET Standard 2.0.
Features
Introduce FsKafka library with producer, batched producer, and consumer monitoring capabilities
This change introduces the FsKafka library, providing a .NET wrapper around Confluent.Kafka for F\# applications. It adds a KafkaProducer and BatchedProducer for sending messages, supporting configurable batching semantics (Linger, BestEffortSerial, Custom) and message headers. It also includes a KafkaMonitor module that implements a watchdog mechanism to detect stalled consumers or growing lags by analyzing partition progress over time windows.
src/FsKafka · high confidence
Removals
Removed legacy F\# wrapper implementation and build artifacts
The legacy F\# wrapper code (ConfluentKafka.fs), its assembly metadata (AssemblyInfo.fs), the example script (Script.fsx), and the dependency references (paket.references) have been deleted from the src/Confluent.Kafka.FSharp directory. This removes the previous implementation of the lightweight F\# wrapper for Confluent.Kafka, including its configuration DSL, producer/consumer abstractions, and associated build dependencies.
src/Confluent.Kafka.FSharp · high confidence
Behavioural changes
Upgrade to .NET 8 and Newtonsoft.Json 13.0.1
The project now targets .NET 8 (SDK 8.0.100) and updates the Newtonsoft.Json dependency to version 13.0.1 to address an insecure default. This change requires users to build and run the library on .NET 8 or later, while the JSON library update improves security posture without altering the public API surface.
(repo-wide) · high confidence
Test coverage
Added integration and unit tests for Kafka consumer/producer and monitor logic; Removed legacy F\# test project.
Dependencies
Migrate from Paket to MSBuild SDK-style projects and update dependencies
The project has replaced the Paket dependency manager with standard MSBuild SDK-style .fsproj files, removing paket.dependencies and paket.lock. This migration updates the library to target netstandard2.0 and upgrades key dependencies, including Confluent.Kafka to 1.9.2, Newtonsoft.Json to 13.0.1, and FSharp.Core to 4.3.4. The integration test project now targets net8.0 and net10.0, using FSharp.Core 6.0.5 and xUnit 2.4.1.
(dependencies) · 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 58 → 59 (+0.3)
- Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 51 → 51 (+0.0)
- Readiness 52 → 52 (+0.0)
- Security 79 → 83 (+3.5)
Resolved (2)
- 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
jet/FsKafka 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 347f2bb679cb1c7a06ad556c068795642abed0e5 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-351388015767.