Skip to content

ADR-v2-038 — Dictation Reflow (Voice Outliner)

Status: Accepted (2026-07-02) · Wave F Context links: [[adr-013-llm-cleanup]] (guard pattern), [[adr-v2-019-meeting-scribe]] (distinct: capture), [[adr-011]]

Context

The Wave F research (#1) proposes: after a long ramble, say "structure this" and the last burst is rewritten in place into headings, bullets, and action items. Anchor: on-device SLMs (Gemma 3n E2B/E4B, Qwen3 local; arXiv 2604.07035). This is distinct from Meeting Scribe (streaming diarization capture) and Spoken Recall (RAG/memory) — it is post-hoc restructuring of your own monologue on command.

Decision

Add an opt-in Dictation Reflow: [reflow] enabled=false. The pure core reflow(text) segments a monologue at discourse markers ("first/next/then/finally/in conclusion") into bullets and flags action items ("action item / to do / I need to") as checkboxes — a heuristic outline that ships now with no ML. The higher-quality SLM reflow is deferred behind a reflow extra (reuse llama.cpp + the ADR-013 length/token-preservation guard so a rewrite can't drop content). OFF by default.

Consequences

  • Ship-now with no new dependency — discourse-marker segmentation + outline builder.
  • Distinct from Meeting Scribe (capture) and Recall (memory) — on-command restructuring.
  • Privacy (ADR-011): operates only on the just-dictated text in RAM; SLM (when added) is local.
  • Caveat: heuristic segmentation is coarse → the SLM path (guarded) is the quality upgrade; off by default.