feat(names): gate aggressive correction to confirmed participants (speaker-turn context)#365
Merged
Merged
Conversation
…s (speaker-turn context) Strengthens post-pass name correction (minutes-25x3.4) using speaker-turn context: the aggressive relaxed tier (name-position, different-first-letter / short token) now fires ONLY when the matched name is a confirmed meeting participant -- an attendee or a High-confidence attributed speaker from the speaker_map. The conservative tier (accent restoration / same-first-letter) still applies to any pool name. - name_correction.rs: PoolEntry.is_participant; relaxed tier requires it; restructured the candidate test so relaxed OR conservative qualifies (a same-first-letter correction in a name-position is no longer blocked when the name is not a participant). New `correct_names_with_participants`; 2-arg `correct_names` (all pool names treated as participants) kept for tests/harness. - pipeline.rs: both finalize paths pass participants = attendees + High-confidence speaker_map names. - config.rs: documented the participant gate + that default-on awaits a real-audio eval. Reduces the Brett->Geert collateral (aggressive corrections only toward people confirmed present); the guest-near-participant case remains inherent and stays off by default. Harness 6/6, 0 false; 22 matcher tests (incl participant-gating + conservative-tier-not-gated); 833 core tests, clippy, fmt.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Summary
Strengthens post-pass name correction (
minutes-25x3.4) with speaker-turn context: the aggressive relaxed tier (name-position, different-first-letter / short token) now fires only when the matched name is a confirmed meeting participant , an attendee or a High-confidence attributed speaker from thespeaker_map. The conservative tier (accent restoration / same-first-letter) still applies to any pool name.This is the "stronger signal" the adversarial review recommended for the aggressive tier. It reduces the
Brett→Geertcollateral: aggressive corrections only fire toward people confirmed present in the meeting, never toward a name that is merely in the vocabulary/graph. The guest-near-participant case remains inherent (no text-only signal distinguishes a misheard participant from a real guest), so the feature stays off by default; default-on awaits a real-audio evaluation.Changes
name_correction.rs:PoolEntry.is_participant; the relaxed tier requires it. Restructured the candidate test to relaxed OR conservative (so a same-first-letter correction in a name-position is no longer blocked when the name is not a participant , a bug I caught while building this). Newcorrect_names_with_participants; the 2-argcorrect_names(all pool names treated as participants) is kept for tests and the eval harness.pipeline.rs: both finalize paths passparticipants = attendees + High-confidence speaker_map names.config.rs: documented the participant gate and that default-on awaits a real-audio eval.Verification
relaxed_tier_requires_a_confirmed_participant(bert→Geert suppressed when Geert is not a participant, fires when it is) andconservative_tier_does_not_require_participant(merci jacque → Jacques still works for a non-participant).-D warningsclean; fmt clean; CLI builds.Branched off current
main(includes the merged #364 and the contributor Windows fixes #357/#359/#361).