Skip to content
CAI
Software that uses CAICheck a score

andrewwebber/cqrs

55.5

Adequate · 21 September 2026

1.8k

lines of production code

Go

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add RabbitMQ-based command and event buses

The RabbitMQ integration now provides a CommandBus and EventBus for the CQRS framework, enabling reliable publishing and receiving of commands and versioned events over RabbitMQ. The implementation includes automatic reconnection with exponential backoff, ensuring that transient connection failures do not cause message loss. Additionally, Prometheus metrics are exposed to track published and failed commands and events, allowing for better observability of the message bus.

rabbit · high confidence

Introduce CQRS and Event Sourcing framework with in-memory and RabbitMQ support

The repository now provides a Go-based CQRS and Event Sourcing framework. It introduces core abstractions for commands, events, and their dispatching, along with in-memory implementations for testing. The framework supports publishing commands via a command bus and handling events via an event bus, with specific implementations for RabbitMQ and in-memory transport. Additionally, it includes an in-memory event stream repository and a type registry for event handling.

(repo-wide) · high confidence

Behavioural changes

Refactored Couchbase event sourcing provider to support multiple providers sharing a bucket

The Couchbase event sourcing provider has been refactored to allow multiple providers to share the same Couchbase bucket by introducing a configurable prefix for all event keys. The repository now accepts connection string, pool name, bucket name, and a prefix as parameters, replacing the previous hardcoded configuration. Additionally, integration events are now stored with a correlation ID index, enabling efficient retrieval of all integration events associated with a specific correlation ID.

couchbase · high confidence

Test coverage

Added automated test and linting script; Removed example test file.

Dependencies

Initial Go module and dependency setup

Added go.mod and go.sum files to define the Go module github.com/andrewwebber/cqrs and its dependencies. This introduces support for Couchbase, Prometheus metrics, RabbitMQ (AMQP), UUID generation, and testing utilities, establishing the project's external package requirements.

(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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 51 → 56 (+5.0)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 93 → 95 (+2.2)
  • Architecture 100 → 100 (+0.0)
  • Maturity 47 → 47 (+0.0)
  • Readiness 24 → 36 (+12.0)
  • Security 100 → 91 (-8.7)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (12)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (11 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (11 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (12 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (14 lines × 2) (couchbase/provider.go)
  • Duplicated block (16 lines × 2) (rabbit/commandbus.go)
  • No exposed public API
  • OSV Dependency Vulnerabilities not included (check did not complete)
  • Test reliability not included
  • The README links only to a single test file ('cqrs_test.go') rather than showing the full suite of tests. (README.md)
  • dormant codebase — no living knowledge left to concentrate

New (23)

  • Critical CVE: [GHSA redacted] (go.mod)
  • Dependency pinned to a stale untagged commit: github.com/couchbaselabs/go-couchbase
  • Dependency pinned to a stale untagged commit: github.com/streadway/amqp
  • Dependency pinned to a stale untagged commit: golang.org/x/crypto
  • Deprecated module: github.com/streadway/amqp
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (12 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (13–14 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (14 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (17 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (23 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (26 lines × 2) (couchbase/provider.go)
  • Duplicated block (38 lines × 2) (rabbit/commandbus.go)
  • Duplicated block (9 lines × 2) (commands.go)
  • High CVE: [GHSA redacted] (go.mod)
  • High: security finding (details withheld)
  • Outdated: github.com/couchbaselabs/go-couchbase
  • …and 3 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

andrewwebber/cqrs 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 21 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 f93db1fb98bf308be8e359e8e6c460848a6ee609 — 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-28e75b8e3254.