Skip to content
CAI
Software that uses CAICheck a score

prooph/snapshot-store

55.9

Adequate · 21 September 2026

294

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 is a PHP library that provides infrastructure for persisting and retrieving domain model snapshots. It offers a \SnapshotStore\ interface with an in-memory implementation for testing and a composite store for chaining multiple storage backends. The system also includes a serialization layer with a callback-based serializer and a container factory to simplify dependency injection setup.

Features

Introduce snapshot store and serialization infrastructure

The library now provides a core snapshot storage API with the \SnapshotStore\ interface, enabling applications to persist and retrieve domain snapshots. A concrete \InMemorySnapshotStore\ implementation is included for testing or lightweight scenarios, while a \CompositeSnapshotStore\ allows chaining multiple stores. Additionally, a \Serializer\ interface and a \CallbackSerializer\ implementation allow custom serialization logic to be injected for converting aggregate roots to and from storage formats.

src · high confidence

New CompositeSnapshotStoreFactory for container integration

A new CompositeSnapshotStoreFactory has been added to the container layer, enabling the automatic assembly of multiple snapshot stores into a single composite store via the dependency injection container. This allows users to configure and retrieve a composite snapshot store through standard container resolution, simplifying the setup of composite snapshot store implementations.

src/Container · high confidence

Behavioural changes

Support for PHP 8 and updated support channels

The library now supports PHP 8, with CI testing extended to include PHP 7.2, 7.3, 7.4, and 8.0. Additionally, the README has been updated to direct users to Stack Overflow for support and GitHub issues for bug reports, replacing the previous Google Groups and forum links.

(repo-wide) · high confidence

Test coverage

Added tests for CompositeSnapshotStoreFactory; Added tests for snapshot store components.

Dependencies

Update PHP and dependency versions in composer.json

The project now supports PHP 8.0 in addition to 7.1, and has upgraded several dependencies: PHPUnit to 6.0/9.3, Prophecy to 1.9, and prooph/php-cs-fixer-config to 0.3/0.4. New dependencies psr/container and sandrokeil/interop-config have been added, while the custom repository for prophecy and the malukenho/docheader package have been 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

Score

  • CAI 56 → 56 (+0.0)
  • 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 44 → 44 (+0.0)
  • Readiness 50 → 50 (-0.0)
  • Security 100 → 100 (+0.0)

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
  • no production source files with tracked history to analyse
  • no production source files with tracked history to analyse

New (3)

  • Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
  • Documentation: no architecture or design documentation (README.md)
  • 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/snapshot-store 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 2f84cfeb9d116974b63a1e3304c0849776c206b7 — 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.