Changelog

L’évolution technique et clinique du moteur AncreMed.

v3.0.0

Liquid Glass : refonte visuelle complète, mode sombre et rapport scientifique v2

Refonte intégrale de l'interface selon le langage visuel « Liquid Glass » d'iOS 26 : surfaces translucides dépolies, flou d'arrière-plan, reflets spéculaires, boutons en capsule et coins largement arrondis, sur l'ensemble des pages et composants. AncreMed gagne également un mode sombre complet et un rapport scientifique entièrement réécrit.

  • Système de tokens verre & thème double : nouvelle architecture de tokens dans globals.css (variables --glass-*, rayons plus généreux, dégradé ambiant fixe derrière tout le contenu) et un thème clair + sombre automatique via prefers-color-scheme, avec un point d'accroche data-theme pour un futur sélecteur manuel. L'accent teal a été affiné pour rester lumineux à travers le verre dans les deux thèmes.
  • Recettes de verre réutilisables : utilitaires .glass, .glass-strong et .glass-tint (deux niveaux : verre réel avec backdrop-filter pour les chrome/cartes, teinte givrée sans flou pour les surfaces défilantes), avec repli @supports pour les navigateurs sans backdrop-filter.
  • Console, en-têtes, sources et modales en verre : en-tête flottant en capsule, barre latérale, composeur, cartes de sources, modales et navigation mobile passent tous au verre translucide ; les couleurs de silos et de confiance transitent désormais par les tokens de thème.
  • Rapport scientifique v2 (/paper) : document nettement plus détaillé — formalisme BM25 (pondération par colonne, IDF), boucle de recherche profonde avec trace exécutée, porte d'attribution à niveaux, banque de calculs cliniques (Cockcroft-Gault, CHA₂DS₂-VASc, qSOFA, Child-Pugh), budget coût/latence et jeu d'évaluation adverse. Nouveaux diagrammes SVG entièrement adaptés au thème (fini les couleurs figées) et mise en page mobile corrigée(texte aligné à gauche, figures et tableaux défilables, aucun débordement horizontal).
  • Documentation design : ajout de DESIGN.md décrivant les tokens, les recettes de verre, la règle de non-imbrication du flou et le mode sombre, afin que les contributeurs et agents futurs sachent exactement comment étendre le système Liquid Glass.
v2.2.0

Interface v2 & Résolution FOUC : Refonte UI/UX Premium et Intégration SSR

Cette mise à jour apporte une refonte visuelle majeure et résout les problèmes de rendu initial pour aligner l'expérience utilisateur sur les standards de production des leaders de l'industrie (OpenAI, Anthropic).

  • Intégration SSR des styles (Zéro FOUC) : Résolution du problème de Flash of Unstyled Content (FOUC) sur l'ensemble des pages. Nous avons intégré un registre StyledJsxRegistry pour collecter et injecter les styles CSS lors du Server-Side Rendering (SSR) dans le layout global de Next.js, garantissant une première peinture parfaitement stylée sur chaque rechargement.
  • Console de saisie intelligente : Remplacement du champ de saisie simple par un composant <textarea> auto-extensible qui s'adapte dynamiquement à la longueur du texte jusqu'à 160px de haut. Gestion optimisée des touches Enter (envoi) et Shift+Enter (saut de ligne), et centrage vertical automatique sur une seule ligne.
  • Barre latérale compacte et esthétique : Réorganisation de l'en-tête de la barre latérale. Le bouton "Nouvelle discussion" et le bouton de repliage sont désormais disposés côte à côte sur une seule ligne, libérant un espace vertical précieux pour l'historique et affinant l'équilibre esthétique du panneau.
  • Écran de chargement sémantique et checkpoints : Implémentation d'un indicateur de progression étape par étape lors de la génération (recherche d'index, analyse de sources, rédaction clinique, vérification d'assertions) couplé à des squelettes de texte pulsants pour une rétroaction visuelle fluide.
  • Améliorations de confort et sécurité : Ajout d'une boîte de dialogue de confirmation avant la suppression de discussions, bouton de retour automatique en bas de page, possibilité de copier les réponses cliniques en un clic, et remplacement des identifiants bruts de base de données par des badges de source colorés (HAS, ANSM / VIDAL, EDN).
v2.1.0

Valve clinique v2 : dégradation gracieuse au lieu du blocage total

La valve de revue clinique bloquait la réponse entière dès qu'une seule affirmation était contestée, même quand la question était factuellement simple et bien établie (ex. score CHA2DS2-VASc). Elle bloque désormais uniquement quand la réponse ne contient vraiment rien d'exploitable pour l'étudiant.

  • Rejet ciblé, pas collectif : chaque affirmation clinique est encore vérifiée mot à mot (citation exacte) et par entité source, mais seule l'affirmation fautive est retirée de la réponse. Le reste du texte, correctement sourcé, est conservé et affiché à l'étudiant au lieu d'être supprimé avec elle.
  • Vérificateur indépendant recalibré : le second modèle de vérification (Gemini Flash-Lite, appel séparé) restait volontairement "sceptique par défaut" et invalidait des citations correctement attribuées à cause d'une simple reformulation. Sa consigne se concentre maintenant sur le fond clinique (bon médicament, bonne pathologie, bon sous-groupe, bon chiffre) plutôt que sur la fidélité littérale du style, tout en continuant à rejeter tout mélange de sujet ou chiffre inventé.
  • Suppression du filtre de mots-clés sur les paragraphes narratifs : les passages explicatifs n'étaient plus autorisés à contenir le moindre chiffre ou mot comme "score"/"seuil", ce qui bloquait des réponses pourtant correctes. La consigne au modèle de séparer narration et affirmation chiffrée est renforcée dans le prompt, sans filtre déterministe par expression régulière.
  • Blocage réservé aux échecs réels : la réponse n'est désormais rejetée (422) que si, après filtrage, il ne reste ni affirmation vérifiée, ni abstention honnête, ni texte narratif exploitable — un vrai échec de génération, pas une simple divergence d'un vérificateur.
v2.0.0

AncreMed v2 : recherche approfondie, spans attribués et banque de calculs

Refonte majeure du moteur de récupération et de génération, déployée en cinq phases (voir IMPLEMENTATION_LOG.md).

  • Recherche approfondie multi-tours : un planificateur classe la question par sujet, relance des recherches FTS5/BM25 ciblées par section manquante, et s'arrête dès la couverture atteinte ou un nombre de tours borné.
  • Réponses en "spans" attribués : chaque réponse est désormais composée de segments narratifs, d'affirmations cliniques sourcées (citation exacte + identifiant d'entité) et d'abstentions explicites pour les sections non couvertes par le corpus.
  • Banque de calculs cliniques vérifiés : Cockcroft-Gault, CHA2DS2-VASc et sa variante ESC 2024 (CHA2DS2-VA), qSOFA et Child-Pugh sont servis depuis une table dédiée et priorisés pour les questions de calcul clinique.
  • Vérificateur indépendant et fraîcheur des sources : un second appel modèle contrôle chaque affirmation contre son document source, et les recommandations HAS/BDPM obsolètes sont marquées superseded pour ne plus être citées.
  • Tolérance aux fautes de frappe, cache et indicateur de couverture : correction légère des requêtes mal orthographiées, mise en cache des réponses pour les classes de questions stables, et affichage du niveau de couverture de chaque réponse.
v0.2.0

Agentic Routing, Reformulation & Refonte UI

Cette mise à jour majeure introduit l'architecture de routage intelligent et améliore l'ergonomie de navigation pour les mobiles et écrans larges.

  • Routeur Intelligent Agentic (API Router) : Classification automatique des messages en amont. Les requêtes de dialogue ou de politesse ("bonjour", "merci") contournent l'index de recherche pour répondre en moins de 300ms.
  • Reformulation Sémantique : Traduction automatique des sigles (ex: "BPCO", "AAG") et expansion en mots-clés français pour accroître le taux de rappel de recherche SQLite.
  • Barre latérale repliable (Desktop) : Ajout de boutons de réduction/développement de la barre avec des icônes SVG minimalistes.
  • Navigation Mobile Premium : Menu fixe en bas de page pour accéder directement aux discussions, démarrer un nouveau chat ou ouvrir le récapitulatif des silos cliniques.
  • Correction du Scroller : Intégration d'un espaceur dynamique de 110px pour empêcher le chevauchement du dernier message avec le bloc de saisie fixe.
v0.1.0

Lancement Initial d'AncreMed

Première version fonctionnelle du moteur RAG local-first.

  • Ingestion des silos : Indexation locale de 76 303 fragments de documents HAS et BDPM.
  • Recherche FTS5 : Migration vers un moteur SQLite FTS5 ultra-rapide (recherche locale en 8ms).
  • Attribution Gate : Première version de la valve clinique pour bloquer les dérives factuelles en vérifiant la présence de citations exactes.