S10 · Voice Recognition (speaker identification)

Declared state: built, not well structured.

This is the repository plan and evidence, not a live health reading. A task marked done may still depend on credentials, devices, deployment or a newer acceptance test.

Dependencies

S08

Tasks and gates

10.F1 · The gate scores the **utterance**, not the room (N2, fixed 2026-08-11).

Tier F · done · Verification: hermetic-test

Gate: `test_speaker_gate_scoping.py`

  • unverified-import · undated · docs/SYSTEMS-DETAILS.md:1754

10.F2 · Cold-start warm-up does not mis-score the first utterance. *gate:* `test_speaker_warmup.py`

Tier F · done · Verification: hermetic-test

Gate: `test_speaker_warmup.py`

  • unverified-import · undated · docs/SYSTEMS-DETAILS.md:1756

10.F3 · The threshold is derived from the enrolled profile's measured separation, not a constant.

Tier F · done · Verification: hermetic-test

Gate: `test_phase5_identity_bench.py` [10.F3] — threshold computed, asserted inside the

  • unverified-import · undated · docs/SYSTEMS-DETAILS.md:1757

10.R1 · Three-way verdict — owner · not-owner · **unsure** — with unsure routed to a soft The 0.75 threshold moves up: a false "owner" executes or leaks, a false "not-owner" costs a PIN (D-15).

Tier R · open · Verification: planned-test

Gate: new `test_speaker_verdict.py` - planned gate. new `test_speaker_verdict.py`

    10.R2 · Diarization for two speakers in the room: attribute each utterance.

    Tier R · open · Verification: planned-test

    Gate: new `test_speaker_verdict.py` - planned gate. `test_speaker_verdict.py` [two-speaker]

      10.R3 · Media rejection: TV and music voices never pass the gate.

      Tier R · open · Verification: planned-test

      Gate: new `test_speaker_verdict.py` - planned gate. `test_speaker_verdict.py` [broadcast audio fixtures]

        10.E1 · A week of real turns with zero owner false-rejects and zero stranger accepts, no manual

        Tier E · open · Verification: planned-test

        Gate: new `test_voice_profile_drift.py` - planned gate. recorded scores + `test_voice_profile_drift.py`

          HUD screen contracts

          All subsystems · Source: docs/systems-plan.json.