Contributing
July 29, 2026 ยท View on GitHub
Run Composer validation, focused PHPUnit coverage, PHPStan, and the public boundary check for changed code.
Replay and payload-codec fixes also follow the organization
regression-corpus contract.
A replay fix adds one minimal history or command-sequence JSON fixture under
tests/fixtures/replay-regressions/. A codec fix adds the shared wire fixture
under tests/fixtures/codec-regressions/ and to every other applicable
official binding.
Fixtures preserve the value and type, framing, and stable failure policy.
Existing evidence is append-only; protocol evolution adds a new fixture with a
supersedes identity. Every new replay fixture added with a replay fix is
executed through the official PHP replayer at both revisions: it must fail on
the target revision and pass with the candidate fix. Install Composer
dependencies, then run:
python scripts/ci/validate-regression-corpus.py --base-ref <target>