From 78e710fb1a17d4e569fc31447e6a483089b0c3df Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 13 Jun 2026 15:06:57 +0000 Subject: [PATCH] fix: render the [sandbox] tag on speak/dub help instead of eating it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The speak and dub docstrings begin with a '[sandbox]' marker (adopted in #146 to flag the two TTS commands that only work against --sandbox). With rich_markup_mode="rich", Rich parsed '[sandbox]' as a style tag and dropped it, leaving a stray leading space and an invisible marker — so these two commands rendered with different indentation from every other command in both the root --help table and their own help body. Escape the bracket (raw docstring + \[sandbox]), matching the same bracket-escaping convention help_text.examples_epilog already uses, so the marker renders literally and the help lines line up with the rest. --- aai_cli/commands/dub/__init__.py | 2 +- aai_cli/commands/speak/__init__.py | 2 +- tests/__snapshots__/test_snapshots_help_root.ambr | 5 +++-- tests/__snapshots__/test_snapshots_help_run.ambr | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/aai_cli/commands/dub/__init__.py b/aai_cli/commands/dub/__init__.py index e0de15c5..8a298ba7 100644 --- a/aai_cli/commands/dub/__init__.py +++ b/aai_cli/commands/dub/__init__.py @@ -116,7 +116,7 @@ def dub( ), json_out: bool = options.json_option("Emit JSON describing the dubbed file."), ) -> None: - """[sandbox] Dub a video or audio file into another language. + r"""\[sandbox] Dub a video or audio file into another language. The whole platform in one command: the media is transcribed with diarized utterance timestamps, each utterance is translated by an LLM Gateway model, diff --git a/aai_cli/commands/speak/__init__.py b/aai_cli/commands/speak/__init__.py index f267c9dc..64872601 100644 --- a/aai_cli/commands/speak/__init__.py +++ b/aai_cli/commands/speak/__init__.py @@ -70,7 +70,7 @@ def speak( ), json_out: bool = options.json_option("Emit JSON metadata about the synthesized audio."), ) -> None: - """[sandbox] Synthesize speech from text with AssemblyAI streaming TTS. + r"""\[sandbox] Synthesize speech from text with AssemblyAI streaming TTS. Plays the audio through your speakers by default, or writes a WAV with --out. Speaker-labeled input (from 'assembly transcribe diff --git a/tests/__snapshots__/test_snapshots_help_root.ambr b/tests/__snapshots__/test_snapshots_help_root.ambr index 25ceedff..475ca583 100644 --- a/tests/__snapshots__/test_snapshots_help_root.ambr +++ b/tests/__snapshots__/test_snapshots_help_root.ambr @@ -52,12 +52,13 @@ │ instantly. │ │ agent Have a live two-way voice conversation with an AssemblyAI voice │ │ agent. │ - │ speak Synthesize speech from text with AssemblyAI streaming TTS. │ + │ speak [sandbox] Synthesize speech from text with AssemblyAI streaming │ + │ TTS. │ │ llm Send a prompt to AssemblyAI's LLM Gateway and print the │ │ response. │ │ clip Cut clips out of a media file by speaker, text match, LLM pick, │ │ or time range. │ - │ dub Dub a video or audio file into another language. │ + │ dub [sandbox] Dub a video or audio file into another language. │ │ caption Burn always-visible captions into a video. │ │ eval Transcribe an evaluation dataset and score WER against its │ │ reference texts. │ diff --git a/tests/__snapshots__/test_snapshots_help_run.ambr b/tests/__snapshots__/test_snapshots_help_run.ambr index 87fcaedd..6c07de0e 100644 --- a/tests/__snapshots__/test_snapshots_help_run.ambr +++ b/tests/__snapshots__/test_snapshots_help_run.ambr @@ -287,7 +287,7 @@ Usage: assembly dub [OPTIONS] MEDIA - Dub a video or audio file into another language. + [sandbox] Dub a video or audio file into another language. The whole platform in one command: the media is transcribed with diarized utterance timestamps, each utterance is translated by an LLM Gateway model, @@ -504,7 +504,7 @@ Usage: assembly speak [OPTIONS] [TEXT] - Synthesize speech from text with AssemblyAI streaming TTS. + [sandbox] Synthesize speech from text with AssemblyAI streaming TTS. Plays the audio through your speakers by default, or writes a WAV with --out. Speaker-labeled input (from 'assembly transcribe