Repository navigation
chore(php-transformer): retire the capture-evidence equivalence gate - #2855
Merged
Merged
Conversation
The gate proved the move to the neutral capture vocabulary (#2725) lost no behavior. That move is merged; since then every intentional output change has had to re-record its digests by hand.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2846
Why
capture-evidence-equivalencewas a migration proof. It showed that moving to the producer-neutral capture vocabulary (#2725, merged 2026-10-13) lost no behavior, by replaying the pre-move test corpus against digests recorded from the pre-move commit. That proof is complete.It then stayed in
composer test. In the two days since, 24 more PRs had to re-record its digests by hand (git log -- php-transformer/tests/fixtures/capture-evidence-equivalence/expected.json), #2842 included. Each one also had to add a "deliberate fidelity change" entry to its README. Its failures are digest-only, so a contributor cannot tell an intentional output change from a regression. In #2837 a coding agent found the correct fix, saw "numerous digest mismatches", and reverted it.Behavior is covered by the contract and unit tests for each feature. This gate only compared output against a frozen commit.
Change
All deletions:
tests/contract/capture-evidence-equivalence.phptests/contract/support/CaptureEvidenceEquivalence.phptests/fixtures/capture-evidence-equivalence/(corpus and expectations)tools/capture-evidence-equivalence/(5 scripts and README)composer.jsondocs/contracts/capture-evidence.mdNothing else references them.
capture-evidence-vocabulary.php, which enforces the vocabulary itself, stays.Verification
composer lint: clean.composer test: passes (TEST_EXIT=0).Prepared with Claude (Anthropic) via the Pi coding agent: Claude traced the #2837 agent failure to this gate, measured its re-record history, removed it, and ran the suite.