Skip to content
CAI
Software that uses CAICheck a score

prooph/standard-projections

58.3

Adequate · 21 September 2026

112

lines of production code

PHP

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a PHP-based event sourcing library that facilitates the processing of domain events through various projection runners. It provides standardized mechanisms to aggregate and emit events from all streams, category-based streams, or message-name-based streams. The codebase includes comprehensive unit tests for these runners and utilizes modern PHP tooling for continuous integration and code quality checks.

Features

Added standard projection runners for all, category, and message name streams

Three new projection runner classes have been added to the src directory: AllStreamProjectionRunner, CategoryStreamProjectionRunner, and MessageNameStreamProjectionRunner. Each class encapsulates the logic for running a specific type of event stream projection via the ProjectionManager, allowing users to easily initialize and run projections for all events, category-based streams, or message-name-based streams.

src · high confidence

Behavioural changes

Migrated CI from Travis to Laminas and updated PHP requirements

The project has replaced Travis CI with Laminas continuous integration, evidenced by the new .laminas-ci.json configuration and the removal of .travis.yml. The minimum supported PHP version has been raised to 7.4, and the code style checker was updated to use the Prooph CS configuration (via .php-cs-fixer.php) in place of the legacy .php\_cs file. Additionally, the repository structure was updated with a new CHANGELOG.md, updated README with documentation and support links, and various configuration files (phpunit.xml, .coveralls.yml, .gitignore) were adjusted to reflect the new tooling and paths.

(repo-wide) · high confidence

Test coverage

Added test helper for domain events; Added tests for standard projection runners.

Dependencies

Updated PHP version support and dependencies in composer.json

The project now requires PHP 7.4 or 8.0–8.3, replacing the previous PHP 7.1 minimum. Several dependencies were updated or replaced: phpunit was upgraded to ^9.5.5, phpspec/prophecy to ^1.10.3, and php-coveralls to ^2.2. Additionally, prooph/pdo-event-store ^1.11 and prooph/bookdown-template ^0.2.3 were added to the development dependencies, while older dev dependencies like phpunit/phpunit-mock-objects and friendsofphp/php-cs-fixer were removed.

(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

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 54 → 58 (+3.9)
  • 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 57 → 51 (-6.5)
  • Readiness 43 → 54 (+11.3)
  • Security 67 → 75 (+8.3)

Resolved (7)

  • Change coupling: CategoryStreamProjectionRunner.php ↔ MessageNameStreamProjectionRunner.php (src/CategoryStreamProjectionRunner.php)
  • 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
  • no production source files with tracked history to analyse
  • no production source files with tracked history to analyse

New (5)

  • Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High: security finding (details withheld)
  • No dependency advisory monitoring

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

Survey your own repository

prooph/standard-projections 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 34851972a252b9746038f5f10c202b7a85a2f582 — 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.