prooph/snapshotter
55.3
Adequate · 21 September 2026
162
lines of production code
PHP
primary language
4
measurements over time
What this system is
This system is a PHP library designed for managing data snapshots within the Prooph event-sourcing ecosystem. It provides mechanisms to project events from specific streams or categories into read models and persist those snapshots to a store. The implementation includes classes for handling aggregate caching, memory management, and state reset operations.
Features
New snapshot projection and read model classes
Added three new classes to the library: \CategorySnapshotProjection\ and \StreamSnapshotProjection\, which wrap \ReadModelProjector\ to process events from a specific category or stream, and \SnapshotReadModel\, which manages aggregate caching, persists snapshots to a \SnapshotStore\, and clears the repository's identity map after saving to prevent unlimited memory consumption.
src · high confidence
Behavioural changes
Initial project scaffolding and CI configuration
The repository is initialized with essential configuration files, including a Travis CI build matrix for PHP 7.3, 7.4, and 8.0, along with PHP CS Fixer, Coveralls, and PHPUnit settings. A BSD-3-Clause license is added, and the README is updated with build status badges and support links.
(repo-wide) · high confidence
Test coverage
Added test mock for aggregate root; Added tests for snapshot projection and read model.
Dependencies
Introduce composer.json for the prooph/snapshotter package
The project now includes a composer.json file that defines the package as prooph/snapshotter, a snapshot tool for the prooph event-store. It specifies PHP 7.3+ or 8.0+ as a requirement, along with dependencies on prooph/event-sourcing ^5.0, prooph/event-store ^7.0, and prooph/snapshot-store ^1.0. Development dependencies include phpunit ^9.3, phpspec/prophecy ^1.9, and various prooph tooling packages. This establishes the package's dependencies and autoloading configuration for the first time.
(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 52 → 55 (+3.5)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (-0.3)
- Architecture 69 → 69 (+0.0)
- Maturity 35 → 35 (+0.0)
- Readiness 50 → 63 (+13.7)
- Security 100 → 100 (+0.0)
Resolved (5)
- 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
- dormant codebase — no living knowledge left to concentrate
New (4)
- Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
- Documentation: no installation or build instructions (README.md)
- Duplicated block (5 lines × 2) (src/CategorySnapshotProjection.php)
- 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/snapshotter 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 42b19e4b7535ab9a9761127d43f4d74dbd3f03f9 — 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.