`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.
`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
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.