- What: Replace single
Arc<Mutex<Connection>>indatabase_service.rswith a proper connection pool. Each worker gets its own connection, eliminating mutex contention. - Why: Root cause of DB corruption under heavy indexing load. The hotfix adds
busy_timeoutand poison recovery as a band-aid, but the real fix is eliminating the single-mutex bottleneck. - Blocked by:
r2d2_sqlitev0.33 requiresrusqlitev0.39, but project uses v0.37. Need to upgraderusqlitefirst, which may requiresqlite-veccompatibility check. - Effort: M (human) / S (CC). Touches
database_service.rs+ every service that callsget_connection(). - Added: 2026-04-05 via /plan-eng-review (performance hotfix)
- What: Once Gemma 4 (or future version) supports timestamped audio segments, replace Whisper entirely. Reduces model count from 3 to 2.
- Why: Simplifies model stack. One fewer runtime dependency (Candle Whisper pipeline).
- Blocked by: Gemma 4 lacking timestamp/segment output. TranscriptionDisplay.tsx depends on segmented transcript data.
- Effort: M (human) / S (CC)
- Added: 2026-04-05 via /plan-ceo-review
- What: Chat-like interface for natural language Q&A grounded in indexed files. Gemma 4 E2B + Nomic retrieval = local RAG.
- Why: The ultimate personal knowledge base feature.
- Depends on: Gemma 4 integration, clustering, and search-within-cluster all working.
- Effort: L (human) / M (CC)
- Added: 2026-04-05 via /plan-ceo-review
- What: Let users/contributors swap the Gemma 4 GGUF for any compatible model (Llama, Phi, Mistral) via config.
- Why: OSS extensibility. Contributors can experiment with different models.
- Depends on: llama-cpp-rs integration being stable.
- Effort: S (human) / S (CC)
- Added: 2026-04-05 via /plan-ceo-review