From 775b5ae9cccc89eff8052164f356884e74f85f79 Mon Sep 17 00:00:00 2001 From: Antoine Van Elstraete Date: Mon, 7 Sep 2026 17:07:47 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20marquer=20le=20jalon=20M9=20(synth?= =?UTF-8?q?=C3=A8se=20IA)=20comme=20termin=C3=A9=20dans=20TODO.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: opencode/coder --- TODO.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/TODO.md b/TODO.md index 490c194..79df3c3 100644 --- a/TODO.md +++ b/TODO.md @@ -173,12 +173,12 @@ Comparer l'agenda réel et l'agenda théorique pour générer les ajouts/suppres Générer une synthèse optionnelle via un fournisseur IA, avec mode dégradé strict. -- [ ] Créer `synthesis/provider.py` : protocole `SynthesisProvider.generate → Optional[SynthesisResult]` (ne lève jamais d'exception). -- [ ] Créer `synthesis/openai.py` : `OpenAISynthesisProvider` (httpx, prompt système FR, max 800 car., timeout 30 s, temp 0.3). -- [ ] Créer `synthesis/litellm.py` : `LiteLLMSynthesisProvider` (optionnel, extra `ai-litellm`). -- [ ] Créer `synthesis/__init__.py` : factory `get_synthesis_provider(settings)` (OpenAI par défaut, litellm si `AI_PROVIDER=litellm`). -- [ ] Mode dégradé : clé absente / timeout / exception → retour `None` (le pipeline continue sans synthèse). -- [ ] Respecter les contraintes (3-5 phrases, ton sobre, pas d'emoji dans le texte IA). +- [x] Créer `synthesis/provider.py` : protocole `SynthesisProvider.generate → Optional[SynthesisResult]` (ne lève jamais d'exception). +- [x] Créer `synthesis/openai.py` : `OpenAISynthesisProvider` (httpx, prompt système FR, max 800 car., timeout 30 s, temp 0.3). +- [x] Créer `synthesis/litellm.py` : `LiteLLMSynthesisProvider` (optionnel, extra `ai-litellm`). +- [x] Créer `synthesis/__init__.py` : factory `get_synthesis_provider(settings)` (OpenAI par défaut, litellm si `AI_PROVIDER=litellm`). +- [x] Mode dégradé : clé absente / timeout / exception → retour `None` (le pipeline continue sans synthèse). +- [x] Respecter les contraintes (3-5 phrases, ton sobre, pas d'emoji dans le texte IA). ### Critères d'acceptation - `generate` retourne une synthèse ≤ 800 car. conforme au prompt système.