Skip to content

Update AssemblyAI dictation API endpoint to /v1/transcribe - #125

Closed
alexkroman wants to merge 1 commit into
mainfrom
claude/pr-107-issues-w0uxvk
Closed

Update AssemblyAI dictation API endpoint to /v1/transcribe#125
alexkroman wants to merge 1 commit into
mainfrom
claude/pr-107-issues-w0uxvk

Conversation

@alexkroman

@alexkroman alexkroman commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

What & why

Points the dictation client at POST /v1/transcribe instead of the unversioned /transcribe, and updates every other reference to the endpoint to match.

The dictation API now serves its routes under /v1, with the unversioned paths kept as aliases. Moving to the canonical path now means Blurt is unaffected if those aliases are ever retired.

  • EngineAssemblyAITranscriber posts to /v1/transcribe; CleanupInstruction's doc comment names the same path.
  • Tests — the two POST path assertions are pinned to the exact versioned path instead of suffix-matching. The warm-up test keeps hasSuffix("/transcribe") on purpose: it asserts the warm-up GET is not a transcribe path, so the suffix form correctly rejects both spellings.
  • Eval harnessevals/dictation-prompt/live.py's DICTATION_URL (it does a real round trip against the same host), plus the prose in optimize_cleanup_prompt.py and the evals README.
  • Docs — README, BLURTENGINE.md, AGENTS.md.

No behavior change beyond the path: same request shape, same response handling, and the warm-up GET still targets the host root.

This supersedes #107, which carried the same engine/test/docs change but was cut before the evals harness landed and had gone stale against main.

⚠️ Merge order

Do not merge until the dictation service change is deployed to production — until then dictation.assemblyai.com/v1/transcribe 404s and dictation breaks. The shipped app keeps working throughout via the unversioned alias, so there is no urgency. Live verification against prod is deferred until that deploy.

How it was tested

  • scripts/check.sh passes (or CI will, if I'm not on a Mac) — --portable is clean end to end on Linux, including ruff/pytest over the evals changes and the release.sh self-tests. Swift build/tests/format run on CI (macos-26), which is the authority on green.
  • I read AGENTS.md and this doesn't reintroduce anything deliberately removed
  • Docs updated if behavior changed

The dictation API now serves its routes under /v1 (unversioned paths
remain as aliases). Pin the client and its tests to the versioned path.

Co-Authored-By: Claude Fable 5 (Jeeves) <noreply@anthropic.com>
@alexkroman alexkroman closed this Aug 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Dev build

Download Blurt.app — this PR (b8edad8) merged into the base
branch, built Debug-Local and ad-hoc signed. Expires in 14 days.

Installing it
cd ~/Downloads
unzip -o blurt-dev-build-pr-125.zip   # GitHub wraps every artifact in a zip
unzip -o Blurt-dev-b8edad8.zip
xattr -dr com.apple.quarantine Blurt.app
rm -rf /Applications/Blurt.app && cp -R Blurt.app /Applications/
open -a Blurt

It is ad-hoc signed and not notarized: Gatekeeper refuses to open it until
the quarantine flag is cleared, and macOS treats it as a different app from a
released Blurt, so you have to re-grant Microphone, Accessibility, and Input
Monitoring. Reinstall the release DMG
when you are done reviewing.

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