May 14, 2026

Rich-Media Cards, Voice Robustness, and Prompt Tightening

Calendar and contacts abilities now return rich-media payloads on the user channel, rendering as themed cards instead of plain text

Calendar and contacts abilities now return rich-media payloads on the user channel, rendering as themed cards instead of plain text. The design follows the Claude Design prototype spec.

Tool summaries for list, find_tools, and email were tightened — directive language like “call list_all first” was dropped, making prompt descriptions more concise. These changes were merged alongside each other and with the rc-0.7.0 baseline.

Voice processing got multiple fixes: TTS text is now segmented into ≤320-character chunks before synthesis to avoid the 510-phoneme hard-limit crash, with chunked audio concatenated using short silence pads. A refactor collapsed the segmentation logic into a single regex, removing 76 lines while preserving behavior. STT now deduplicates consecutive identical n-grams to suppress the known Whisper/Moonshine hallucination loop triggered by silence or noise.

Observability and brain charts received targeted fixes: the most active model shown now respects the selected time window instead of always showing the lifetime top model, and the usage chart no longer crashes on re-render after the element was mistakenly replaced without its id.

  • Calendar and contacts now render as themed rich-media cards

  • TTS segments text to prevent phoneme-overflow crashes

  • STT hallucination loop suppressed by n-gram repetition dedup

  • Tool summaries for list, find_tools, and email tightened to remove directive language

  • Most active model in observability respects the selected time window

  • Brain usage chart no longer crashes on re-render