docs / build with the engine
Engine overview
A local-first Swift SDK for dictated text.
Cleanup Engine is a public beta. These guides are generated from the SDK repository at v0.2.0-beta.1; file links open it on GitHub.
A local-first Swift SDK for turning dictated text into cleaned text, with explicit outcomes, Unicode-safe edits, provenance and timings. Prepare a verified model pack once and reuse the cleaner across requests.
Version: 0.2.0-beta.1 — public beta. The implementation has contract, concurrency, adversarial transport and real-model regression tests. Stable production support still requires the release gates, including real Pomvox integration and a reviewed quality corpus. Sub-100ms cleanup is a benchmark target, not a demonstrated capability.
What it provides
- Local cleanup: pinned Swift/MLX inference, a frozen baseline prompt, optional vocabulary and reusable prefix caches.
- Predictable failures: exact-input fallback, bounded admission and deadlines. Cancellation throws and suppresses late delivery.
- Inspectable results: final text, UTF-8 edits, outcome, artifact/runtime identity and stage timings.
- Explicit cloud access: a separate transport client requiring an endpoint and credentials. No automatic uploads, downloads, route changes or retries.
- Speaker transcripts and notes: optional per-turn cleaning of a speaker-attributed transcript, and deterministic notes that quote it verbatim.
- A small host seam: the SDK owns no microphone, STT, clipboard, paste, UI, history or telemetry.
The engine is MIT licensed. Baseline weights are separate artifacts with their own license; see pack licensing and availability. Premium cloud packs keep proprietary weights server-side. Licensed private enterprise deployment is a separate product direction. This repository does not contain a premium service, billing or a marketplace.
Requirements
| Component | Requirements | Validated environment |
|---|---|---|
| Core, local facade, cloud client | macOS 14+ or iOS 17+, Swift 6 | Swift 6.2.4, macOS 15.7.4; iOS: builds only, see below |
| MLX runtime | Apple Silicon, full Xcode, pinned installed model | Apple M1, 16 GiB, Xcode 26.3 |
| Diarization runtime (optional) | Apple Silicon, macOS 15 recommended, pinned installed diarizer pack | Apple M1, 16 GiB, macOS 15, Xcode 26.3 |
| Tests and asset preparation | Python 3; XcodeGen for the separate consumer | Debug/Release and sanitizer runs; see evidence |
macOS 14 is the declared deployment minimum; it has not yet been exercised in the release validation matrix.
iOS 17 is a build target, not a validated platform. All three packages declare .iOS(.v17), the floor their dependencies set (mlx-swift-lm, swift-tokenizers and FluidAudio 0.15.5 each require iOS 17). An iPhone app with deployment target iOS 17 builds against PomvoxCleanup, PomvoxNotes, PomvoxCleanupMLX and PomvoxDiarizationFluid without overriding IPHONEOS_DEPLOYMENT_TARGET; Examples/iOSConsumer is that check. Nothing has run on an iPhone here: model load, memory, thermal and background behaviour are not validated, and the pinned simplewords-v3 pack (8-bit) is sized for a Mac, not a phone's per-app memory budget (#30). Linux, Intel inference, C/Python/Node bindings and multiple resident local models are not supported in this milestone.