# YazSes v2.9.0-dev.3 — Wave M continues (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**.

Continues **Wave M** (`design/vision/v2-research/15-wave-m.md`) with the editing-workflow pair:

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

- **Style-Consistency Enforcer** (ADR-v2-109, `[styleguard]`) — applies your style sheet to each
  dictation ("e-mail" not "email", US spelling, "cannot" not "can not") so terminology stays
  consistent — a Vale-lite pass, fully offline. `load_stylerules` + `apply_style` (literal/regex
  rules, with a change log). Anchor: Vale, proselint.
- **Suggestion-Mode Dictation** (ADR-v2-113, `[suggestmode]`) — emits dictated edits as CriticMarkup
  tracked changes (`{++add++}`, `{--cut--}`, `{~~old~>new~~}`, `{>>comment<<}`) for an editor to
  review later, instead of applying them. `to_criticmarkup` + `diff_to_critic` (word-level, stdlib
  `difflib`). Anchor: CriticMarkup spec; Google Docs "Suggesting".

`yazses features` now lists **121 capabilities**.

## Wave M remaining
Screenplay Auto-Format · Spoken Spaced-Repetition Capture · Diagrams-as-Code · Interruptible
Read-Back Proofreading.

## Quality
1392 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** (pure regex + stdlib difflib). The default install and
the v1 dictation path are unchanged.
