ZilvinasKucinskas/FRP-EventSourcing
52.1
Adequate · 22 September 2026
340
lines of production code
Ruby
primary language
7
measurements over time
What this system is
This system is a Ruby gem designed for functional reactive programming within event-sourced architectures. It provides core components for managing event streams, including an event repository for persistence and querying, alongside a Stream class that supports functional transformations like map, filter, and merge. The library also includes a Rails generator for database migrations and executable scripts to streamline local development and testing workflows.
Features
Add reference material for event sourcing and functional programming
Added a PDF document by Gregory Meredith to the sources directory, covering topics such as the concurrency squeeze, functional web design, and parsing requests monadically. This provides external reference material for readers exploring event sourcing and functional programming concepts.
sources · high confidence
Added executable scripts for local development setup and console
New executable scripts have been added to the bin directory to streamline the developer experience. The bin/console script provides an interactive Ruby console with the frp-eventsourcing gem loaded, allowing developers to experiment with the library's features. The bin/setup script automates the initial environment configuration by running bundle install to ensure all dependencies are present.
bin · high confidence
Initial release of the FRP-EventSourcing gem
The repository has been initialized with the core structure for the 'frp-eventsourcing' Ruby gem, enabling functional reactive programming in event sourcing systems. The release includes a comprehensive README detailing installation, usage examples for defining events and streams, and documentation of available reactive operators. Supporting configuration files such as .gitignore, .rspec, .travis.yml, and a Rakefile for testing and building the gem are also included, alongside the MIT license and a basic Gemfile structure.
(repo-wide) · high confidence
Introduce FrpEventsourcing library for event-sourced streams
The FrpEventsourcing library is introduced, providing an event-sourcing framework for Ruby applications. It includes an Event model and repository for persisting and querying events, a Stream class that supports functional-style transformations (each, map, filter, when), and a Rails generator to create the necessary database migration for the event store.
lib/frp-eventsourcing · high confidence
Test coverage
Added test suite for event sourcing components
Added comprehensive RSpec tests for the event repository, stream processing, versioning, and migration generator. The test suite includes a spec helper with database cleaner and ActiveRecord setup, support files for models and event publishing, and specific tests verifying the initialization of the event repository, state transitions in streams (including filter, map, and merge operations), and the generation of migration templates.
spec · high confidence
Dependencies
Initial gemspec and Gemfile for frp-eventsourcing
The project now includes a Gemfile and a frp-eventsourcing.gemspec file, establishing the Ruby gem's structure and dependencies. The gem specifies a runtime dependency on ActiveRecord (\>= 4.0.0) and includes development dependencies for testing and building, such as RSpec, Rake, and Rails 4.2.
(dependencies) · medium 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 56 → 52 (-4.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 55 → 55 (+0.0)
- Readiness 39 → 33 (-6.0)
- Security 100 → 96 (-3.7)
Resolved (6)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Test reliability not included
- early-stage repository — too little history to judge knowledge freshness
- single-maintainer — knowledge-concentration (bus factor) risk
New (9)
- Critical CVE: [GHSA redacted] (frp-eventsourcing.gemspec)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Inconsistent arity for the 'merge' method. One signature takes a single argument (implying merging 'self' with 'another'), while the other takes two arguments (implying merging two external streams or a different pattern). This is confusing for API consumers.
- Inconsistent naming and parameterization for read operations. 'read_events_forward' and 'read_all_streams_forward' take pagination parameters (start_event_id, count), while 'read_stream_events_forward' takes no pagination parameters, implying it reads the entire stream. The naming convention also shifts between 'read_events' and 'read_stream_events'.
- Low CVE: [GHSA redacted] (frp-eventsourcing.gemspec)
- Medium CVE: [GHSA redacted] (frp-eventsourcing.gemspec)
- No dependency advisory monitoring
- Same inconsistency as above but for backward reading. 'read_events_backward' supports pagination, while 'read_stream_events_backward' does not. The prefix 'read_events' vs 'read_stream_events' is inconsistent.
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
ZilvinasKucinskas/FRP-EventSourcing 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 22 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 c88a582d1d7de7dd754eb3b952d595fee84c8882 — 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-821afab8930d.