Skip to content

Fluid-1 (AI Enhancement) model never unloads when idle — same wired-memory issue as #548, but for the enhancement model #806

Description

@jeremy-pixelated

`fluid-intelligence-mlx` loads `fluid-1-nvfp4-mlx` + the Gemma MTP drafter (~3.5 GB combined) on first dictation and keeps them pinned in wired, non-pageable memory for as long as the app is running — confirmed via `vm_stat` (wired memory tracks almost exactly with the model size) and via the process staying resident for hours with 0% CPU at idle. There is no idle-unload; `unloadCachedRuntime` only fires on quit or a config change.

This is the same failure mode as #548 ("Dictation model stays pinned in wired memory and never unloads, freezing 8 GB Macs"), which was fixed for the speech-to-text model in #619. That fix doesn't cover Fluid-1 — the AI-enhancement model has no equivalent idle-unload path.

#705 raised this for Fluid-1 specifically and was closed as "intention now" / tracked internally, without a public fix or timeline. Filing this as a focused, standalone tracking issue for that specific gap, since #619 already establishes the pattern (unload after N minutes idle, reload on next use) — it seems reasonable to apply the same fix to Fluid-1.

Environment

  • FluidVoice 1.6.7 (18), MLX backend
  • macOS (Apple Silicon)
  • Model: `fluid-1-nvfp4-mlx` + `gemma-4-E2B-it-qat-assistant-bf16-mlx-mtp` drafter

Suggested fix

Apply the same idle-unload timer used for the ASR model (#619) to the Fluid-1 runtime — unload after N minutes of no dictation, reload transparently on next hotkey press.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions