# YazSes v2.8.0-dev.5 — Wave L complete (developer preview)

**Pre-release · not published** (publish workflows are pinned to `v0.x`/`v1.x`; v2 dev tags do
not ship). **v1.4.1 remains the stable release.** Every feature is **OFF by default**.

**Completes Wave L** (`design/vision/v2-research/14-wave-l.md`) — all ten features shipped — with the
final two pure cores, both accessibility-first:

## New since dev.4 (all off by default)

- **Mouth-Sound Switch Access** (ADR-v2-097, `[mouthswitch]`) — non-verbal mouth sounds (pop = advance
  the highlight, cluck = select) drive a timed scan-and-select selector — the **switch-scanning AAC
  access method** for people who cannot produce reliable speech at all. `classify_mouth_sound` +
  `ScanSelector` (a pure timed state machine, testable with a fake clock). Anchor: Apple Sound Actions
  for Switch Control (iOS 15).
- **Involuntary-Vocalization Auto-Excision** (ADR-v2-102, `[involuntary]`) — detects and deletes
  involuntary sounds (cough, throat-clear, sneeze) from the stream so they never become garbage tokens
  or spurious commands. `is_involuntary_vocalization` + `excise_nonspeech_spans`. A win for
  chronic-cough and medical dictation. Anchor: Hyfe Cough Tracker (F1000Research; 91%/98%).

`yazses features` now lists **115 capabilities**. (Mouth-Sound Switch Access is experimental —
`features enable` requires `--force`.)

## Wave L — complete
Vocal Joystick · Earcon Feedback · Beam-Steered Spatial VAD · Prosodic Auto-Punctuation ·
Hesitation-Hold Endpointing · Pitch-Contour Gestures · Breath-Paced Dictation · Whisper-Aware Mode ·
Mouth-Sound Switch Access · Involuntary-Vocalization Excision. **All ten shipped, pure, 100%-covered,
off by default.**

## Quality
1369 tests green across Linux × macOS × Windows on Python 3.11 and 3.12. Both new cores are
unit-tested to 100% with **no new dependency** (the scan cursor + span-removal are pure; the acoustic
classifiers are optional lazy extras). The default install and the v1 dictation path are unchanged.
