Port the bundle's speech enhancer (Qyr + prompt T6o) into dankvoice: every spoken unit is rewritten into natural spoken prose by the @tiny role (frank-zealot via modelRoles.tiny + provider baseUrl) under the stock budgets — 1536 tokens, 6 s abort, 4000-char window — with mechanical cleanup as the fallback and an empty rewrite skipping the unit. Auto-speak now narrates the last assistant message's thinking blocks as their own unit before the answer; narration: true thinking counts as answer text.
Both knobs: menu toggles + /say status readout + persisted thinking setting + env levers (DANKVOICE_REWRITE_URL/_MODEL/REWRITE=0/DANKVOICE_THINKING/DANKVOICE_OMPCONFIG).
Tests — fixture grows an echo/prose chat route (404 when unset, so every scenario keeps its isolation); 7 new scenarios: rewrite round-trip, 404 fallback, thinking-first ordering, thinking off, narration-flagged-once, @tiny role resolution from an ompconfig fixture, humanize label in status. 22/22 dankvoice, 58/58 suite.
Live smoke — real frank-zealot + frank-tts: a markdown /say came out as 3 sequential prose segments (mechanical cleanup of that text yields at most 2), and a thinking+answer agent_end played the thinking first.
Port the bundle's speech enhancer (`Qyr` + prompt `T6o`) into dankvoice: every spoken unit is rewritten into natural spoken prose by the **@tiny** role (frank-zealot via `modelRoles.tiny` + provider baseUrl) under the stock budgets — 1536 tokens, 6 s abort, 4000-char window — with mechanical cleanup as the fallback and an empty rewrite skipping the unit. Auto-speak now narrates the last assistant message's thinking blocks as their own unit **before** the answer; `narration: true` thinking counts as answer text.
Both knobs: menu toggles + `/say status` readout + persisted `thinking` setting + env levers (`DANKVOICE_REWRITE_URL`/`_MODEL`/`REWRITE=0`/`DANKVOICE_THINKING`/`DANKVOICE_OMPCONFIG`).
**Tests** — fixture grows an echo/prose chat route (404 when unset, so every scenario keeps its isolation); 7 new scenarios: rewrite round-trip, 404 fallback, thinking-first ordering, thinking off, narration-flagged-once, @tiny role resolution from an ompconfig fixture, humanize label in status. 22/22 dankvoice, 58/58 suite.
**Live smoke** — real frank-zealot + frank-tts: a markdown `/say` came out as 3 sequential prose segments (mechanical cleanup of that text yields at most 2), and a thinking+answer `agent_end` played the thinking first.
---
cwd: /home/blank/.omp/wt/wt-20261018-204442-7c8a99d · session: 01a15242-e896-70f6-9e1e-caab1e4f5960
Answers spoken with /say were verbatim markdown-cleaned text while the
built-in vocalizer speaks prose rewritten by a small model. Port that
enhancer (bundle Qyr/T6o: same prompt, 1536 tokens, 6 s, 4000-char
window, null-fallback/empty-skip contract) and resolve its model from
modelRoles.tiny exactly as the harness does, so auto-speak sounds like
the enhanced TUI voice instead of a pager. agent_end now also speaks the
last assistant message's thinking blocks as their own unit before the
answer; narration-flagged thinking counts as answer text. Both knobs are
menu-toggleable, persisted, and env-overridable; the fixture gains a
chat route (echo/prose) and seven scenarios cover the round-trip, the
404 fallback, ordering, the kill switches and role resolution (22 green,
58 suite-wide; live smoke through real frank-zealot + frank-tts).
Refs #27
dank
merged commit 570b5509d0 into main2026-10-19 01:57:51 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Port the bundle's speech enhancer (
Qyr+ promptT6o) into dankvoice: every spoken unit is rewritten into natural spoken prose by the @tiny role (frank-zealot viamodelRoles.tiny+ provider baseUrl) under the stock budgets — 1536 tokens, 6 s abort, 4000-char window — with mechanical cleanup as the fallback and an empty rewrite skipping the unit. Auto-speak now narrates the last assistant message's thinking blocks as their own unit before the answer;narration: truethinking counts as answer text.Both knobs: menu toggles +
/say statusreadout + persistedthinkingsetting + env levers (DANKVOICE_REWRITE_URL/_MODEL/REWRITE=0/DANKVOICE_THINKING/DANKVOICE_OMPCONFIG).Tests — fixture grows an echo/prose chat route (404 when unset, so every scenario keeps its isolation); 7 new scenarios: rewrite round-trip, 404 fallback, thinking-first ordering, thinking off, narration-flagged-once, @tiny role resolution from an ompconfig fixture, humanize label in status. 22/22 dankvoice, 58/58 suite.
Live smoke — real frank-zealot + frank-tts: a markdown
/saycame out as 3 sequential prose segments (mechanical cleanup of that text yields at most 2), and a thinking+answeragent_endplayed the thinking first.cwd: /home/blank/.omp/wt/wt-20261018-204442-7c8a99d · session: 01a15242-e896-70f6-9e1e-caab1e4f5960