[Phase 5] Tests unitaires pour fractal-stt #322

Open
opened 2026-04-06 14:01:53 +00:00 by charles · 0 comments
Owner

Contexte

La crate fractal-stt (M1 — Speech-to-Text) est la seule crate métier sans issue de tests unitaires dédiée. Les autres crates ont toutes leur issue : fractal-ai (#316), fractal-rich (#317), fractal-bridge (#318), fractal-core (#319), fractal-gtk (#320).

Critères d'acceptation

  • Tests unitaires pour le trait SttEngine et ses types communs (AudioData, Transcript, TranscriptSegment)
  • Tests de la logique de parsing de sortie JSON de WhisperEngine (sans subprocess réel)
  • Tests de ModelManager : logique de sélection et vérification de chemin local
  • Tests du cache SQLite (event_idTranscript)
  • Tests de la détection de langue et du mapping Confidence
  • Mock de SttEngine pour les tests d'intégration (pipeline sans moteur réel)

Notes techniques

  • Utiliser des fixtures audio minimales (ex : WAV PCM 1 seconde silencieuse) pour les tests de pipeline
  • Ne pas appeler whisper-cpp ni les API cloud dans les tests unitaires — tout doit être mockable via le trait SttEngine
  • Fichiers concernés : crates/fractal-stt/src/ (trait, moteurs, pipeline, cache)
## Contexte La crate `fractal-stt` (M1 — Speech-to-Text) est la seule crate métier sans issue de tests unitaires dédiée. Les autres crates ont toutes leur issue : fractal-ai (#316), fractal-rich (#317), fractal-bridge (#318), fractal-core (#319), fractal-gtk (#320). ## Critères d'acceptation - [ ] Tests unitaires pour le trait `SttEngine` et ses types communs (`AudioData`, `Transcript`, `TranscriptSegment`) - [ ] Tests de la logique de parsing de sortie JSON de `WhisperEngine` (sans subprocess réel) - [ ] Tests de `ModelManager` : logique de sélection et vérification de chemin local - [ ] Tests du cache SQLite (`event_id` → `Transcript`) - [ ] Tests de la détection de langue et du mapping `Confidence` - [ ] Mock de `SttEngine` pour les tests d'intégration (pipeline sans moteur réel) ## Notes techniques - Utiliser des fixtures audio minimales (ex : WAV PCM 1 seconde silencieuse) pour les tests de pipeline - Ne pas appeler `whisper-cpp` ni les API cloud dans les tests unitaires — tout doit être mockable via le trait `SttEngine` - Fichiers concernés : `crates/fractal-stt/src/` (trait, moteurs, pipeline, cache)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#322
No description provided.