# YazSes v2.5.0-dev.5 — Wave I 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 I** — the full 10-feature SoA round from
`design/vision/v2-research/11-wave-i.md` (ADRs `adr-v2-065..074`). Adds the final two pure cores:

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

- **Adaptive Latency Governor** (ADR-v2-073, `[latency]`) — keeps dictation responsive under CPU
  load (a lighter model + narrower beam) and losslessly faster when idle (speculative decoding
  with a distil draft — mathematically identical output at ~2×). The psutil read, draft model, and
  speculative-decode loop are deferred behind a `latency` extra.
- **Diarized Conversation Capture** (ADR-v2-074, `[diarize]`) — capture a live multi-speaker
  conversation as attributed Markdown (`**Alice:** …`) and rename speakers by voice ("call speaker
  two Alice"), with runs merged per speaker. Distinct from Meeting Scribe (bulk) and Multi-User
  Profiles (auth). The pyannote diarizer is deferred behind a `diarize` extra.

## Wave I — all 10 features
Terminal Command Safety Gate, Spoken Regex Builder, Structured-Markup Dictation, Document Find-and-
Replace, Hard Contextual Biasing, Voice Window Management, Citation-by-Voice, Per-Language Auto
Model Switching, Adaptive Latency Governor, Diarized Conversation Capture. `yazses features` now
lists **85 capabilities**.

## Quality
1252 tests green across Linux × macOS × Windows on Python 3.11 and 3.12. Every Wave I pure core is
unit-tested to 100%; heavy models (sherpa-onnx biasing, per-language models, distil draft,
pyannote, per-compositor WM backends) stay lazy behind optional extras. The default install and
the v1 dictation path are unchanged.
