Skip to content

Fix CLI QA papercuts: silent --download-sections drop, port bounds, init exit codes#164

Merged
alexkroman merged 1 commit into
mainfrom
claude/cli-qa-fixes-x33lrx
Jun 14, 2026
Merged

Fix CLI QA papercuts: silent --download-sections drop, port bounds, init exit codes#164
alexkroman merged 1 commit into
mainfrom
claude/cli-qa-fixes-x33lrx

Conversation

@alexkroman

Copy link
Copy Markdown
Collaborator

QA sweep across the command surface surfaced four offline-observable defects:

  • transcribe: --download-sections was silently dropped for non-URL sources
    (local file, stdin, remote bucket, directory batch), billing a full-file
    transcription instead of erroring. Now rejected up front via the existing
    youtube.validate_sections_flag guard, matching clip/dub.
  • dev/share/init: an out-of-range --port reached socket.connect_ex and surfaced
    as an internal "report a bug" error (and for init, only after a wasted
    scaffold+install). Added min=0/max=65535 bounds so Typer rejects it cleanly
    before any work.
  • init: four usage_error raises returned exit 1 while the type's canonical code
    is 2; converted them to UsageError so error.type maps 1:1 to the exit code.
  • stream: --min-turn-silence/--max-turn-silence/--inactivity-timeout/--max-tokens
    accepted 0/negative values; added min=1 to match their range-guarded siblings.

Adds boundary tests for each fix and regenerates the affected --help snapshots.

…nit exit codes

QA sweep across the command surface surfaced four offline-observable defects:

- transcribe: --download-sections was silently dropped for non-URL sources
  (local file, stdin, remote bucket, directory batch), billing a full-file
  transcription instead of erroring. Now rejected up front via the existing
  youtube.validate_sections_flag guard, matching clip/dub.
- dev/share/init: an out-of-range --port reached socket.connect_ex and surfaced
  as an internal "report a bug" error (and for init, only after a wasted
  scaffold+install). Added min=0/max=65535 bounds so Typer rejects it cleanly
  before any work.
- init: four usage_error raises returned exit 1 while the type's canonical code
  is 2; converted them to UsageError so error.type maps 1:1 to the exit code.
- stream: --min-turn-silence/--max-turn-silence/--inactivity-timeout/--max-tokens
  accepted 0/negative values; added min=1 to match their range-guarded siblings.

Adds boundary tests for each fix and regenerates the affected --help snapshots.
@alexkroman alexkroman enabled auto-merge June 14, 2026 01:57
@alexkroman alexkroman added this pull request to the merge queue Jun 14, 2026
Merged via the queue into main with commit bfb3355 Jun 14, 2026
19 checks passed
@alexkroman alexkroman deleted the claude/cli-qa-fixes-x33lrx branch June 14, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants