Assert that a served call's pick and its pairing are named when they differ - #264
Merged
Merged
Conversation
… named when they differ Since a served call is paired with the recording it names, the candidate's pick and the scorer's twin can differ on one path only: an exact hit already owns the named event, and the served call falls back to the search by shape. The check that names that case (the ArgsServedPairingDisagrees kind, the served event on the ledger row, and the warning giving both sequences) had no test on that path. Neutralising it left the whole suite green, so it could have stopped firing unnoticed. The test for that path now asserts all three: the row on the event the call was paired with names the event it ran on, the scorecard counts the kind once, and the warning names both sequences. Neutralising the check, dropping the row's served event, or dropping the warning each fails it, run against the whole workspace. The note on the end-to-end test that recorded the gap now points here.
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.
Follow-up to #258 and #260, now on main.
Since a served call is paired with the recording it names (#260), the candidate's pick and the scorer's twin can differ on one path only. An exact hit already owns the named event, so the served call falls back to the search by shape and pairs with another. #258 names that case in three ways:
ArgsServedPairingDisagreeskind;After the stack merged, a review measured the check as completely unasserted. Neutralising it (
.is_some_and(|served| served != twin_seq)→|_| false) left the orchestrator suite green, 722 passed and 0 failed, so it could have stopped firing unnoticed.a_served_claim_on_an_event_an_exact_hit_owns_falls_back_to_the_shape_searchalready builds that path: the served call names 701, the exact hit owns it, and the call pairs with 702. It now also asserts the three signals:The note on the end-to-end test that recorded the gap now points at this test.
Evidence
Three mutants, each against the whole workspace with
--no-fail-fast, all killed:just verify: exit 0, clippy-D warningsclean, the whole suite passes, web 79/79.Tests only; no production code changes.