You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a family member, I want spoken answers to sound like speech, so that the agent never reads out "asterisk asterisk" or a URL.
Context
The speech server (Piper) reads markdown marks aloud. For one sentence the spoken length was: plain 2.0 s, with **bold** 3.9 s (read as "asterisk asterisk"), with a link 4.1 s, with a heading 2.7 s, with emoji 2.7 s. The agent's speaking instructions and the say help line ask for plain sentences, but a model does not always follow them, and a later routine (a morning briefing) will pass longer text.
Proposal
ai say turns its input into speakable text before it is spoken, as a pure function: emphasis marks go, a heading becomes a sentence, list items become sentences, a link becomes its text, a bare URL becomes its domain, inline code keeps its content, emoji go, a table becomes one sentence per row.
Definition of done
A module test feeds markdown with each of those elements and expects the plain sentences.
Plain text passes through unchanged.
On a running instance, ./stack ai say "Good morning. **Three emails** came in." takes as long as the same sentence without the marks.
Activity
feat(ai): read markdown aloud as plain speech
feat(ai): read markdown aloud as plain speech
feat(ai): read markdown aloud as plain speech