You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Surfaced by #514. An unpinned mlx upgrade broke Parakeet — the default macOS transcription engine — and every check on every platform stayed green. That is the part worth fixing; the dependency was just what happened to trip it.
The gap
Every STENOAI_E2E_ENGINE in the repo today:
Job
OS
Engine
Exercises parakeet-mlx?
t2-pipeline-macos
macOS
whisper
no
t2-pipeline-windows
Windows
parakeet
no — onnx-asr, no MLX
T3 @long-meeting (nightly)
Windows
parakeet
no — onnx-asr, no MLX
So src/_parakeet_mlx.py — the path the majority of users actually run — is executed by no automated test anywhere.
Why it is this way
Deliberate, and still correct as far as it goes: GitHub-hosted macOS runners have no Metal device, so parakeet-mlx cannot load there. CLAUDE.md documents this and the macOS pipeline job selects whisper for exactly that reason. The gap is not an oversight — it is a hardware limitation that has never been worked around.
Added a provenance check to scripts/verify_mlx_bundle.py: the bundled mlx version must equal the requirements.txt pin, so an unverified mlx cannot reach a build. That would have caught this specific regression, and it runs in both e2e.yml and build-release.yml.
It is explicitly not a substitute for running the thing. It proves which mlx shipped, not that mlx works.
A pre-release manual gate — add stenoai spike-parakeet to the release checklist as a required human step on Apple Silicon. Cheap, honest, but relies on a person remembering.
Status quo plus the provenance guard — accept that behaviour is untested and defend the input instead. Works only while the pin holds.
Worth noting option 2 costs almost nothing and closes the specific hole that shipped here, so it is a reasonable stopgap regardless of whether 1 ever happens.
Surfaced by #514. An unpinned
mlxupgrade broke Parakeet — the default macOS transcription engine — and every check on every platform stayed green. That is the part worth fixing; the dependency was just what happened to trip it.The gap
Every
STENOAI_E2E_ENGINEin the repo today:t2-pipeline-macoswhispert2-pipeline-windowsparakeet@long-meeting(nightly)parakeetSo
src/_parakeet_mlx.py— the path the majority of users actually run — is executed by no automated test anywhere.Why it is this way
Deliberate, and still correct as far as it goes: GitHub-hosted macOS runners have no Metal device, so
parakeet-mlxcannot load there.CLAUDE.mddocuments this and the macOS pipeline job selects whisper for exactly that reason. The gap is not an oversight — it is a hardware limitation that has never been worked around.What #514 did about it in the meantime
Added a provenance check to
scripts/verify_mlx_bundle.py: the bundled mlx version must equal therequirements.txtpin, so an unverified mlx cannot reach a build. That would have caught this specific regression, and it runs in bothe2e.ymlandbuild-release.yml.It is explicitly not a substitute for running the thing. It proves which mlx shipped, not that mlx works.
Options
CLAUDE.md, and give mlx 0.32.x can't find its metallib inside the PyInstaller bundle (blocks unpinning mlx) #515 a place to verify a pin bump.stenoai spike-parakeetto the release checklist as a required human step on Apple Silicon. Cheap, honest, but relies on a person remembering.Worth noting option 2 costs almost nothing and closes the specific hole that shipped here, so it is a reasonable stopgap regardless of whether 1 ever happens.
Related