Skip to content

Complete macOS audio backend migration - #112

Merged
pranc1ngpegasus merged 3 commits into
mainfrom
agent/macos-backend-migration
Aug 1, 2026
Merged

Complete macOS audio backend migration#112
pranc1ngpegasus merged 3 commits into
mainfrom
agent/macos-backend-migration

Conversation

@pranc1ngpegasus

@pranc1ngpegasus pranc1ngpegasus commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • Migrate macOS desktop and legacy session entry points onto the backend-neutral SessionOrchestrator with production MacosCaptureBackend and MacosTranscriberBackend implementations.
  • Route Core Audio / Process Tap PCM through a bounded Rust handoff into SpeechAnalyzer via TranscriberBackend::push, while keeping Ogg recording on the capture side.
  • Split capture/transcriber lifecycle operations, add record-only fallback and strict-policy behavior, and propagate runtime failures, overflow, gaps, and timestamps deterministically.
  • Preserve/version the v1/v2 C ABI and expand Rust, Swift, desktop, lifecycle, and cross-target contract coverage.

Why

PR #108 introduced the cross-platform capture/transcription abstractions, but macOS production code still had paths that bypassed the orchestrator. This completes that migration so macOS uses the abstraction end to end before Windows/Linux backends are added.

Base

Impact

  • macOS capture, transcription, fallback, shutdown, and failure semantics now live behind the shared backend contracts.
  • Existing v1 clients remain compatible; new orchestration behavior is exposed through the versioned v2 ABI.
  • No Windows/Linux production backend is added in this PR.

Validation

  • cargo test --workspace --exclude wisp-desktop --no-fail-fast
  • cargo clippy --workspace --exclude wisp-desktop --all-targets -- -D warnings
  • cargo test -p wisp-desktop --features gpui/runtime_shaders session_runner::tests (2 passed)
  • nix shell nixpkgs#cargo-xwin --command env RUSTC_BOOTSTRAP=1 cargo xwin clippy -Z build-std=std,panic_abort -p wisp-audiokit --target x86_64-pc-windows-msvc --tests -- -D warnings
  • swift build --package-path native/WispAudioKit
  • bash formal/check.sh (Kani 5/5, Shuttle 2/2)
  • cargo fmt --all -- --check
  • git diff --check
  • Six ren review workflows (57/96 slots); final independent review returned clean.

Environment-only gaps

  • Swift XCTest cannot run in the local Command Line Tools image because XCTest/xctest is unavailable; the Swift product itself builds successfully.
  • A normal local desktop build requires Apple metal; the runtime-shader test path compiled and exercised the affected session runner.
  • Physical microphone / Process Tap / TCC / SpeechAnalyzer end-to-end behavior still requires macOS hardware validation.

Base automatically changed from agent/cross-platform-audio-abstraction to main August 1, 2026 10:21
@pranc1ngpegasus
pranc1ngpegasus force-pushed the agent/macos-backend-migration branch from 914c001 to dabd46f Compare August 1, 2026 10:22
@pranc1ngpegasus
pranc1ngpegasus marked this pull request as ready for review August 1, 2026 13:32
@pranc1ngpegasus
pranc1ngpegasus merged commit dcca286 into main Aug 1, 2026
5 checks passed
@pranc1ngpegasus
pranc1ngpegasus deleted the agent/macos-backend-migration branch August 1, 2026 13:32
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.

1 participant