Skip to content
CAI
Software that uses CAICheck a score

jbaudanza/rxeventstore

41.6

Weak · 21 September 2026

1.5k

lines of production code

JavaScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

RxEventStore is an event sourcing library that provides a unified interface for storing and querying events using PostgreSQL and Redis backends. It supports cursor-based pagination, metadata filtering, and event observability, with a modernized API that leverages Promises and async/await. The system includes comprehensive test coverage and integrates with the rxnotifier for event notification.

Features

Introduce Redis database driver and refactor PostgreSQL query interface

Added a new Redis database driver (src/database/redis.js, redis\_connections.js) that supports cursor-based pagination, metadata inclusion, and event observability. Refactored the PostgreSQL driver (src/database/pg.js) to align its query interface with the new cursor-based pagination pattern, allowing users to pass a 'cursor' option to 'query' and 'observable' methods. Added a shared 'streamQuery' utility (src/database/streamQuery.js) to handle streaming logic for both databases. Updated the filters module (src/database/filters.js) to support functional filtering for the new drivers.

src/database · high confidence

Behavioural changes

Adopt Promise-based Redis client and modernize UUID generation

The Redis client is now fully promisified, allowing callers to use async/await or .then() chains instead of callbacks. Additionally, the codebase has migrated from the deprecated 'node-uuid' package to the 'uuid' package for generating UUIDs.

src · high confidence

Rename to RxEventStore and expose PgDatabase and RedisDatabase

The library has been renamed to RxEventStore, with the main entry point now exporting PgDatabase and RedisDatabase classes directly. The underlying database modules (pg.js, redis.js) now require babel-polyfill and re-export their respective database implementations. A new schema.sql file defines an events table with an added aggregate\_root column. The README has been updated to reflect the new name, installation instructions, and usage examples for the event sourcing pattern.

(repo-wide) · high confidence

Test coverage

Expanded test coverage for event store and database implementations

Added comprehensive tests for the Redis and PostgreSQL database implementations, including specific test suites for the event store interface, notifier behavior, and filter functions. The changes include new test files for Redis and updated tests for PostgreSQL, batches, and filters, ensuring that features like cursor-based querying, metadata inclusion, and filtering by metadata fields are properly validated.

test · high confidence

Dependencies

Updated dependencies and renamed package to rxeventstore

The package has been renamed to 'rxeventstore' and updated to version 0.0.17. The dependency list was updated to include 'redis' and 'rxnotifier', while 'node-uuid' was replaced by 'uuid' (v3.0.0). Additionally, 'generic-pool' was added as a new dependency, and 'rxjs' was upgraded to version 5.0.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 39 → 42 (+3.0)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 46 → 42 (-4.0)
  • Architecture 69 → 94 (+25.2)
  • Maturity 49 → 49 (+0.0)
  • Readiness 20 → 32 (+11.3)
  • Security 75 → 60 (-15.0)

Resolved (47)

  • Coverage not included — suite not readable by the collector
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • …and 27 more

New (51)

  • Coverage not measured — JavaScript/TypeScript suite
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Documentation: no architecture or design documentation (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • …and 31 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

jbaudanza/rxeventstore 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 9564ed31444e0f7a36178a72a20bdb62816ecc1f — 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-fa71c66cabd8.