Skip to content

Fix STT-only model selection in darkbloom start#52

Open
cryptosingheth wants to merge 1 commit intoLayr-Labs:masterfrom
cryptosingheth:codex/fix-stt-only-start
Open

Fix STT-only model selection in darkbloom start#52
cryptosingheth wants to merge 1 commit intoLayr-Labs:masterfrom
cryptosingheth:codex/fix-stt-only-start

Conversation

@cryptosingheth
Copy link
Copy Markdown

@cryptosingheth cryptosingheth commented Apr 17, 2026

Summary

Fixes #42 for the No models selected loop when selecting only Cohere Transcribe [transcription].

The issue was reproduced on a Mac Mini, but the root cause is not Mac Mini-specific. hardware::detect() only controls which catalog entries fit the machine's RAM; the failure happens later in generic startup selection validation after the picker has already returned selected entries. Any Mac provider that selects only an STT/transcription model can hit the same error.

The separate ModuleNotFoundError: No module named 'mlx_audio.stt.cohere_asr' symptom mentioned in #42 is a runtime/package issue and is not covered by this PR.

Root Cause

cmd_start already split selected picker entries into:

  • text models for --model
  • image models for --image-model
  • transcription/STT models for EIGENINFERENCE_STT_MODEL

However, the final validation only checked text and image selections:

if selected_models.is_empty() && final_image_model.is_none() {
    anyhow::bail!("No models selected");
}

So picked_stt could be populated correctly, but STT-only startup still failed before launchd service installation.

Changes

  • Adds a small has_start_selection helper that treats text, image, and STT selections as valid startup workloads.
  • Updates the final darkbloom start guard to include picked_stt.
  • Prints the selected STT model in the startup summary.
  • Adds focused unit tests for text-only, image-only, STT-only, and empty selections.
  • Keeps the branch on current upstream master; while validating that base, also applies formatter-only cleanup in crypto.rs / secure_enclave_key.rs and gates the in-process engine scratch variable behind the existing python feature so --no-default-features compiles.

Validation

  • cd provider && cargo fmt --check
  • cd provider && cargo test --no-default-features

Note: an initial sandboxed test run failed because local mock-server socket binding was denied with Operation not permitted; the same test command passed when rerun outside the sandbox.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 17, 2026

@cryptosingheth is attempting to deploy a commit to the EigenLabs Team on Vercel.

A member of the Team first needs to authorize it.

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.

MacBook Air M4 16GB - Cohere Transcribe Model

1 participant