Repository navigation
Compare evidence-window v2 in live-replay equivalence - #53
Merged
Merged
Conversation
Built-in HTTP captures have emitted evidence-window v2 since 0.2.0a3, but the projection reader still accepted only v1, so groundnut-equivalence refused any new HTML, PDF or JSON run. Admit v1 and v2 and keep comparing the complete window, including producer identity. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
9 of 13 tasks
b1rdmania
approved these changes
Oct 6, 2026
b1rdmania
left a comment
Owner
There was a problem hiding this comment.
Reviewed the complete diff and tested the exact head 0abc27a. 483 tests pass locally and CI is green. The reader now accepts the v2 windows the current resolver emits while still comparing the full window object, including producer/runtime identity; unknown schemas remain rejected. No blocking findings.
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.
What changed
groundnut-equivalencenow acceptsgroundnut-evidence-window/v2as well as v1. Built-in HTTP captures have emitted v2 since 0.2.0a3, so the projection reader refused every new HTML, PDF or JSON run withunsupported evidence-window schema.The complete window object is still compared in both versions. A v2 producer-identity change (extractor, extractor library or runtime) between live and replay is therefore reported as a difference, not hidden. Any other window schema still fails as unsupported. The change is documented in
docs/LIVE-REPLAY-EQUIVALENCE.md.Evidence
Found while adding JSON sources (a separate PR stacked on this one). Three new tests in
tests/test_equivalence.pydrive a built-inHttpResolverwith an injected opener for an HTML fixture and a text/plain fixture, then compare live against two replays. On main they fail withunsupported evidence-window schema; with this change they pass. A further test archives a replay snapshot whose v2runtimediffers and checks that it is reported asdifferent.Lane
Contract impact
Determinism and disclosure
Validation
A review suggested one possible follow-up: share the accepted window-schema set between
equivalence.pyandEvidenceWindow.from_mapping, so the two cannot drift.