Skip to content

feat(names): gate aggressive correction to confirmed participants (speaker-turn context)#365

Merged
silverstein merged 1 commit into
mainfrom
feat/speaker-turn-context
Jun 25, 2026
Merged

feat(names): gate aggressive correction to confirmed participants (speaker-turn context)#365
silverstein merged 1 commit into
mainfrom
feat/speaker-turn-context

Conversation

@silverstein

Copy link
Copy Markdown
Owner

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 the speaker_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→Geert collateral: 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). New correct_names_with_participants; the 2-arg correct_names (all pool names treated as participants) is kept for tests and the eval harness.
  • pipeline.rs: both finalize paths pass participants = attendees + High-confidence speaker_map names.
  • config.rs: documented the participant gate and that default-on awaits a real-audio eval.

Verification

  • Harness 6/6 recovered, 0 false corrections (unchanged: the 2-arg wrapper treats all pool names as participants).
  • 22 matcher unit tests, including relaxed_tier_requires_a_confirmed_participant (bert→Geert suppressed when Geert is not a participant, fires when it is) and conservative_tier_does_not_require_participant (merci jacque → Jacques still works for a non-participant).
  • 833 core tests; clippy -D warnings clean; fmt clean; CLI builds.

Branched off current main (includes the merged #364 and the contributor Windows fixes #357/#359/#361).

…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.
@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
useminutes.app Ready Ready Preview, Comment Jun 25, 2026 8:15pm

@silverstein silverstein merged commit c93e581 into main Jun 25, 2026
27 of 29 checks passed
@silverstein silverstein deleted the feat/speaker-turn-context branch June 25, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant