Skip to content
CAI
Software that uses CAICheck a score

leo-project/leo_mq

52.0

Adequate · 17 September 2026

1.6k

lines of production code

Erlang

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Leo MQ is a local Erlang message-queuing library designed for asynchronous processing and data consistency within the LeoFS ecosystem. It provides a robust API for publishing, consuming, and managing message states, backed by LevelDB storage and optimized for batch processing. The system includes comprehensive state management via gen\_statem and is supported by unit tests to ensure API reliability.

Features

Initial release of Leo MQ header definitions

This change introduces the \leo\_mq.hrl\ header file, establishing the foundational data structures and constants for the Leo MQ subsystem. It defines the \mq\_properties\ record for configuring publishers and consumers, including settings for database processes, batch sizes, and consumption intervals. The file also specifies the \mq\_state\ record and associated macros to represent queue states such as idling, running, and suspending (auto/force), alongside event types for managing the lifecycle of the message queue components.

include · high confidence

Initial release of leo\_mq local message-queueing library

This entry introduces leo\_mq, a local Erlang message-queueing library designed for use within Leo Project applications (such as leo\_storage, leo\_gateway, and leo\_manager) to handle asynchronous processing and fix inconsistent data. The release includes the core library code, a Makefile-based build system using rebar3, and configuration for Erlang/OTP 21 or later. It also establishes the project's CI pipeline via Travis CI, adds Apache 2.0 licensing, and includes documentation generation scripts.

(repo-wide) · high confidence

Leo MQ message queue library introduced at version 2.0.3

The Leo MQ library is now available as a standalone Erlang application (version 2.0.3) providing a robust message queuing system for LeoFS. This release introduces a new API for publishing, suspending, and resuming message consumption, alongside a consumer mechanism built on gen\_statem for improved state management. The backend storage has been updated to use LevelDB by default, and the supervision tree has been refactored to use supervisor2 for better reliability. Users can now leverage features like bulk loading, configurable batch processing, and efficient message counting to optimize message handling performance.

src · high confidence

Test coverage

Added unit tests for Leo MQ API

Added a new EUnit test suite (leo\_mq\_api\_tests) that validates the Leo MQ API's publish, has\_key, count, and status operations using a mocked client module.

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

Baseline

  • First survey — no prior run to compare against. CAI 52.

Lenses

  • Code Health 96
  • Architecture 100
  • Maturity 40
  • Readiness 44
  • Security 67

Changes since last survey

  • 300 commits — 262 feature/other, 38 fixes

By area

  • (repo) — 78 commits
  • (root) — 63 commits
  • src/leo_mq.app.src — 59 commits
  • src/leo_mq_consumer.erl — 36 commits
  • include/leo_mq.hrl — 25 commits
  • src/leo_mq_api.erl — 20 commits
  • src/leo_mq_server.erl — 10 commits
  • src/leo_mq_publisher.erl — 4 commits
  • test/leo_mq_api_tests.erl — 3 commits
  • src/.leo_mq_consumer.erl.swp — 1 commit
  • src/leo_mq_sup.erl — 1 commit

Notable commits

  • fix: Fix Copyright
  • fix: Fix a magic number
  • fix: Fix all consumers can be running
  • fix: Fix building leo_mq
  • fix: Fix closely related to leo-project/leofs/issues/333
  • fix: Fix comsumption interval
  • fix: Fix consumer-fun's bug
  • fix: Fix consumer-fun's bug
  • fix: Fix consumption interval
  • fix: Fix consumption interval#3
  • fix: Fix consumption interval#4
  • fix: Fix consumption interval#5
  • fix: Fix consumption interval#6
  • fix: Fix consumption interval#7
  • fix: Fix consumption interval#8
  • fix: Fix decr_interval_fun
  • fix: Fix dialyzer warn
  • fix: Fix error-log's description of consume-fun
  • fix: Fix for #971
  • fix: Fix https://github.com/leo-project/leofs/issues/1059
  • …and 280 more

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

Survey your own repository

leo-project/leo_mq 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 17 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 a65615302f68ee525fb0889f1bf45701c21e2e15 — the exact code this score is about.
  • Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.