LLMs (especially Haiku) keep emitting markdown despite explicit "no markdown" prompt rule. Mobile app has no markdown renderer — users see raw asterisks. - New stripMarkdown() util handles **bold**, bullet-lists, headings, code-fences, links, blockquotes - /api/coach/message: applies stripMarkdown(text) post-LLM as safety-net Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>