# YazSes v2.0.0-dev.4 — Voice-First Interaction Layer (developer preview 4)

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

dev.4 is a **polish snapshot** on top of dev.3's complete feature set (all 13
features across Waves A/B/C). No new features — this pass makes v2 discoverable,
observable, and safer to adopt.

## What changed since dev.3

- **User-facing v2 guide** — `docs/v2-features.md` documents all 13 features grouped by
  wave with their `yazses features` toggle names (verified against the live registry),
  linked from the docs index.
- **Spoken Edit destructive-confirm** — `[commands] spoken_edit_destructive` (off by
  default): destructive voice edits ("delete the last sentence") stay skipped unless
  explicitly enabled, and when enabled remain undoable via "scratch that".
- **Confidence Ink is observable** — `yazses status` now reports `confidence_enabled`
  and `low_confidence_last` (last-burst low-confidence word count; metadata only).
- **`yazses doctor` v2 readiness** — for each *enabled* v2 feature, doctor reports whether
  its dependency/config is present (agent→`mcp` + `slm_model_path`, pilot→`pyatspi`,
  polyglot→`adapter_path`, bridge→listen port), so a dormant feature explains itself.
- **Architecture doc** — `design/architecture.md` gains a v2 section (packages→features→
  ADRs, daemon integration points, invariants).

## Quality
876 tests green across Linux × macOS × Windows on Python 3.11 and 3.12.

## Deferred (need real hardware/network to build + verify)
Confidence overlay markers + voice re-pick (needs Whisper n-best capture) and the live
backends for the experimental Wave C set (EMG serial, gaze webcam, bridge sockets, SLM+
MCP execution, pyatspi actioning). The pure planner/router/parse layers for all of these
are done and tested; only the device/network glue remains.
