Skip to content

fix(windows): wire windows-parakeet.toml to canonical http-remote plugin + restore live integration tests#422

Merged
Coldaine merged 9 commits into
tauri-basefrom
feat/windows-rampage-2026-04-27
Apr 27, 2026
Merged

fix(windows): wire windows-parakeet.toml to canonical http-remote plugin + restore live integration tests#422
Coldaine merged 9 commits into
tauri-basefrom
feat/windows-rampage-2026-04-27

Conversation

@Coldaine
Copy link
Copy Markdown
Owner

@Coldaine Coldaine commented Apr 27, 2026

User description

Summary

Fixes the Windows live override and re-lands the live integration tests that were missing from the squashed merge of #410.

The user reported that "parakeet doesn't work on Windows" despite multiple landings. Investigation showed:

  1. The HTTP-remote + container stack is fully on main (PRs fix(stt): restore canonical HTTP remote Parakeet path #409, test(stt): live parakeet http-remote integration tests #410). ops/parakeet/docker-compose.yml, crates/coldvox-stt/src/plugins/http_remote.rs, [stt.remote] defaults in config/default.toml, and config/plugins.json with preferred_plugin = "http-remote" are all present.
  2. config/windows-parakeet.toml selected the wrong plugin. It set preferred = "parakeet" (local CUDA via parakeet-rs), bypassing the entire container path the rest of the codebase is wired for. Anyone setting COLDVOX_CONFIG_PATH=config/windows-parakeet.toml on Windows would hit the local-GPU path that's known-painful, not the OpenAI-compatible HTTP container at http://localhost:5092.
  3. The live integration tests added in PR test(stt): live parakeet http-remote integration tests #410 never actually landed in the squashed merge — crates/coldvox-stt/tests/http_remote_live.rs and crates/app/tests/http_remote_wiring_live.rs exist on feat/parakeet-http-remote-live-tests but not on main.

Changes

  • config/windows-parakeet.toml: preferred = "http-remote", require_local = false, plus expanded comments documenting the docker-compose bring-up flow.
  • Cherry-picks the missing test files from feat/parakeet-http-remote-live-tests:
    • crates/coldvox-stt/tests/http_remote_live.rs — plugin-level live test.
    • crates/app/tests/http_remote_wiring_live.rs — end-to-end Settings → plugin wiring test (this was the test that caught the misconfigured TOML).
    • scripts/integration_parakeet.ps1 + just integration-parakeet recipe.

Validation

Run on Windows 11 + RTX 5090 + Docker Desktop 29.2.1, this branch:

docker compose -f ops/parakeet/docker-compose.yml up -d parakeet-cpu
  -> Container parakeet-parakeet-cpu-1  Started, healthy on :5092

cargo test -p coldvox-stt --features http-remote --test http_remote_live -- --ignored
  test canonical_parakeet_cpu_transcribes_test_1_exactly ... ok
  test result: ok. 1 passed; 0 failed

cargo test -p coldvox-app --no-default-features --features text-injection-enigo,http-remote,silero \
  --test http_remote_wiring_live -- --ignored
  test windows_parakeet_settings_wire_through_to_real_transcript ... ok
  test result: ok. 1 passed; 0 failed

The wiring test mutation-tested the fix: with the previous preferred = "parakeet" value, the test failed with assertion failed: windows-parakeet.toml must wire to the http-remote plugin / left: Some("parakeet") right: Some("http-remote").

Out of scope

  • The parakeet-gpu profile (port 8200, RTX 5090, ~28 GB VRAM in use) comes up healthy from the same compose file but exposes a non-OpenAI API (/audio/transcriptions instead of /v1/audio/transcriptions). Wiring a second [stt.remote] profile for it can be a follow-up; the canonical CPU container path is the one the rest of the codebase already targets and is what this PR validates.
  • PR fix(gui): Qt transcript overlay correctness, lifecycle & bridge wiring #416 (Qt overlay) is unaffected and unrelated to this fix.

CodeAnt-AI Description

Use the Windows Parakeet override with the HTTP container and add live checks

What Changed

  • Windows now points to the canonical http-remote Parakeet path instead of the local GPU path, so the supported Windows setup uses the same container endpoint documented for live runs
  • Added live integration tests that verify the Parakeet HTTP service works on its own and that Windows settings resolve through to a real transcript end to end
  • Added a one-step integration-parakeet command that starts the container, waits for it to become healthy, and runs both live tests

Impact

✅ Fewer Windows transcription setup failures
✅ Clearer Parakeet live-test coverage
✅ Faster validation of the Windows HTTP transcription path

🔄 Retrigger CodeAnt AI Review

Details

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Windows Parakeet Configuration Fix & Integration Tests Restoration

Problem Addressed

config/windows-parakeet.toml was configured with preferred = "parakeet" (local CUDA via parakeet-rs), bypassing the canonical HTTP-remote container at http://localhost:5092 defined in ops/parakeet/docker-compose.yml. This caused Windows users with COLDVOX_CONFIG_PATH=config/windows-parakeet.toml to hit the local-GPU path instead of the documented HTTP container endpoint.

Key Changes

Configuration Update

File Change Impact
config/windows-parakeet.toml Set stt.preferred = "http-remote" and stt.require_local = false Routes Windows users to canonical HTTP-remote parakeet-cpu container
Expanded documentation comments Explains docker-compose bring-up and GPU profile scope

Integration Test Restoration

Two missing live test files cherry-picked from prior branch:

Test Purpose Coverage
crates/coldvox-stt/tests/http_remote_live.rs Plugin-level live transcription test Validates HttpRemotePlugin against real parakeet-cpu service at http://localhost:5092 with test audio (test_1.wav); marked #[ignore]
crates/app/tests/http_remote_wiring_live.rs End-to-end Settings → plugin wiring test Loads Windows-parakeet config, verifies http-remote plugin selection, validates remote endpoint configuration, exercises full transcription flow

Build & Automation

  • crates/app/Cargo.toml: Added integration test target for http_remote_wiring_live.rs (requires http-remote feature)
  • justfile: New integration-parakeet recipe invokes PowerShell integration script
  • scripts/integration_parakeet.ps1: PowerShell 7 orchestration script that:
    • Starts parakeet-cpu container via ops/parakeet/docker-compose.yml
    • Polls http://localhost:5092/health with configurable timeout (default 180s)
    • Runs both live test suites with --ignored flag
    • Leaves container running after tests complete

Validation

Tested on Windows 11 + RTX 5090 + Docker Desktop 29.2.1:

  • parakeet-cpu container healthy on :5092
  • http_remote_live test passed
  • http_remote_wiring_live test passed (detected original misconfiguration)

Out of Scope

Coldaine and others added 7 commits April 16, 2026 06:03
promote tauri-base: Windows runnable cleanup stack
…gin + integration tests

The Windows live override file selected preferred="parakeet" (local CUDA via
parakeet-rs), but the canonical Windows path documented in
docs/windows-live-runbook.md and exercised by ops/parakeet/docker-compose.yml is
the OpenAI-compatible HTTP container at http://localhost:5092. The wiring live
integration test windows_parakeet_settings_wire_through_to_real_transcript
caught the mismatch immediately.

Changes:
- config/windows-parakeet.toml: preferred = "http-remote", require_local = false,
  expanded comments documenting the docker-compose bring-up flow.
- Cherry-picks the live integration tests + integration_parakeet.ps1 from
  feat/parakeet-http-remote-live-tests (originally PR #410, whose test files did
  not actually land in the squashed merge):
  * crates/coldvox-stt/tests/http_remote_live.rs   (plugin-level)
  * crates/app/tests/http_remote_wiring_live.rs    (Settings -> plugin wiring)
  * scripts/integration_parakeet.ps1 + just integration-parakeet recipe

Validation (this commit, on Windows 11 + RTX 5090 + Docker Desktop 29.2.1):
  docker compose -f ops/parakeet/docker-compose.yml up -d parakeet-cpu
    -> healthy on :5092
  cargo test -p coldvox-stt --features http-remote --test http_remote_live
    -- --ignored                                      -> 1 passed
  cargo test -p coldvox-app --features http-remote --test http_remote_wiring_live
    -- --ignored                                      -> 1 passed
Copilot AI review requested due to automatic review settings April 27, 2026 18:39
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 27, 2026

CodeAnt AI is reviewing your PR.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: a6fedfb0-856d-4cab-a2b6-55ec7dc699b1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR adds HTTP-remote Parakeet integration testing infrastructure. The Windows profile configuration is updated to use an HTTP-remote endpoint instead of local Parakeet. Two new integration tests exercise the plugin and wiring layers against a running Parakeet HTTP service, with a PowerShell orchestration script to manage container startup and test execution.

Changes

Cohort / File(s) Summary
Configuration Update
config/windows-parakeet.toml
Switches Windows Parakeet profile from local parakeet plugin to HTTP-remote endpoint at http://localhost:5092, sets stt.require_local to false, and updates documentation describing the parakeet-cpu container setup.
Integration Test Targets
crates/app/Cargo.toml
Adds new integration test target tests/http_remote_wiring_live.rs configured to run only when http-remote feature is enabled.
Plugin-Level Integration Test
crates/coldvox-stt/tests/http_remote_live.rs
Introduces http_remote_live integration test that validates HttpRemotePlugin against the live Parakeet service at http://localhost:5092, including health availability checks and transcription output verification against test_1.wav.
Wiring-Level Integration Test
crates/app/tests/http_remote_wiring_live.rs
Adds end-to-end wiring test that loads Windows-specific settings, verifies runtime plugin selection resolves to http-remote, validates remote configuration matches the canonical endpoint, and exercises the full transcription flow with assertion of expected output.
Test Orchestration
justfile, scripts/integration_parakeet.ps1
Introduces integration-parakeet recipe and corresponding PowerShell script that orchestrates container startup via Docker Compose, waits for service health readiness at /health, and executes both integration test suites with --ignored flag.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

Suggested labels

agent-approved

Poem

🐰 Hops through containers with tests held high,
HTTP endpoints in the Parakeet sky!
From local to remote, the profiles now dance,
Integration suite spins—giving testing a chance!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main changes: fixing the Windows configuration to wire to the http-remote plugin and restoring live integration tests.
Description check ✅ Passed The description comprehensively covers all required sections: clear summary of the problem, detailed explanation of changes, validation results, and out-of-scope items. It follows the template structure with appropriate sections.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/windows-rampage-2026-04-27

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/integration_parakeet.ps1`:
- Around line 38-52: The probe loop swallows exceptions in the empty catch,
losing the last failure; capture the caught exception (e.g. assign $_ to a
$lastHealthError variable) and either Write-Verbose the error inside the catch
before Start-Sleep or include $lastHealthError in the final throw message so the
timeout error reports the last health-check failure (update references to
variables $r, $healthy, $deadline, and HealthTimeoutSeconds accordingly).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9aa3d2af-b13a-4136-9d7b-1b0ec1e0746b

📥 Commits

Reviewing files that changed from the base of the PR and between c272c30 and ccb1fac.

📒 Files selected for processing (6)
  • config/windows-parakeet.toml
  • crates/app/Cargo.toml
  • crates/app/tests/http_remote_wiring_live.rs
  • crates/coldvox-stt/tests/http_remote_live.rs
  • justfile
  • scripts/integration_parakeet.ps1

Comment thread scripts/integration_parakeet.ps1
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 27, 2026

CodeAnt AI finished reviewing your PR.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the Windows “parakeet” live override to use the codebase’s canonical Parakeet HTTP-remote (container) plugin path, and restores the missing live integration tests/runner that validate the full Settings → plugin wiring against a real parakeet-cpu container.

Changes:

  • Update config/windows-parakeet.toml to prefer http-remote and disable require_local, with comments documenting the docker-compose bring-up flow.
  • Re-introduce two #[ignore]-gated live integration tests: one at the coldvox-stt plugin layer and one end-to-end wiring test in coldvox-app.
  • Add a just integration-parakeet recipe and a PowerShell runner script to bring up the container, wait for /health, and run both live tests.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
scripts/integration_parakeet.ps1 Adds a PS7 script to start parakeet-cpu, wait for /health, and run the ignored live tests.
justfile Adds integration-parakeet recipe to invoke the new integration runner script.
crates/coldvox-stt/tests/http_remote_live.rs Adds a plugin-level live integration test hitting the canonical HTTP endpoint and asserting the exact transcript.
crates/app/tests/http_remote_wiring_live.rs Adds an end-to-end wiring live test verifying windows-parakeet.toml resolves to http-remote and successfully transcribes via the real container.
crates/app/Cargo.toml Registers the new http_remote_wiring_live test (needed because autotests = false) and gates it on http-remote.
config/windows-parakeet.toml Fixes the Windows live override to prefer http-remote (container path) and documents the intended workflow.

Address CodeRabbit review on PR #422 by capturing the last health probe exception during the wait loop and surfacing it in the timeout message.
@Coldaine Coldaine changed the base branch from main to tauri-base April 27, 2026 19:20
@github-actions github-actions Bot added agent-blocked Automated agent review found blocking issues. and removed agent-approved Automated agent review passed. labels Apr 27, 2026
@Coldaine Coldaine merged commit 8ad5da4 into tauri-base Apr 27, 2026
4 checks passed
@Coldaine Coldaine deleted the feat/windows-rampage-2026-04-27 branch April 27, 2026 19:23
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 3, 2026

CodeAnt AI is running the review.

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 3, 2026

Sequence Diagram

This PR updates the Windows live configuration to use the http-remote Parakeet container and enhances the integration script to start the container, wait for a healthy status, and run live transcription tests.

sequenceDiagram
    participant Tester
    participant IntegrationScript
    participant ParakeetContainer
    participant ColdvoxApp
    participant ParakeetHTTPService

    Tester->>IntegrationScript: Run integration parakeet script
    IntegrationScript->>ParakeetContainer: Start Parakeet CPU container and wait for health
    IntegrationScript->>ColdvoxApp: Run http-remote live tests
    ColdvoxApp->>ColdvoxApp: Load Windows Parakeet config selecting http-remote plugin
    ColdvoxApp->>ParakeetHTTPService: Send audio transcription request
    ParakeetHTTPService-->>ColdvoxApp: Return transcription result
    ColdvoxApp-->>Tester: Report live tests passed
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 3, 2026

CodeAnt AI finished running the review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-blocked Automated agent review found blocking issues. size:L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants