# ROADMAP Longer-term backlog, roughly ordered. An item moves to "Current state" in CLAUDE.md when picked up. ## Near term - parakeet-asr `--memory` cap, shipped via the Reapply-patches action (guards against swap-thrash on very long audio). - Controlled concurrency sweep of the audio endpoints in a quiet window — replace the reasoned in-flight cap (2, ceiling 3) with the measured knee. ## Audio quality - Echo cancellation for dual-channel label-merge — removes the mic-bleed limit when the local user isn't wearing headphones. - LLM "referee" pass for low-confidence label-merge speaker naming. ## Platform hardening - Qdrant auth (API key) + scheduled snapshots/backups. - Observability: request metrics + GPU-busy tracking, so load questions are answered from data instead of log archaeology. - API-key auth on Spark Control — only if public (non-VPN) exposure is ever needed; current stance is LAN + split-tunnel VPN only. ## Throughput (only if audio load outgrows one GPU) - Second audio worker / queueing layer; revisit which services share Spark 2. ## Dashboard - Per-model configurable vLLM flags editable from the UI (today: edit `models.yaml` and rebuild). - Spark host update actions (OS/driver) from the UI. - Open WebUI link-out integration; richer per-service detail views.