v0.17.0.fr.md
docs/i18n/release-notes/v0.17.0.fr.md
Tesserae v0.17.0 — le chemin de compilation apprend de ses pairs
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Publié 2026-07-09 · PyPI · GitHub release · pip install --upgrade tesserae==0.17.0
Cette version intègre les meilleures idées issues d'une comparaison approfondie avec deux projets frères de wikis LLM — alfadur7/llm-wiki-newsroom et langchain-ai/openwiki — chacune vérifiée contre ce que Tesserae avait déjà avant adoption. Le thème : ce que les agents consomment est désormais correct, à jour, et découvrable par construction.
Le contexte compilé ne cite plus les perdants
compile_context exclut désormais les nœuds obsolètes et les perdants de l'arbitrage LLM par défaut (include_superseded=True les restaure). Une affirmation qui a perdu l'arbitrage LLM était précédemment citée de manière identique à son gagnant ; l'assistant partagé superseded_ids() supprime ou signale désormais ces cas de manière cohérente dans search_nodes, fresh_insights, et node_context également. Les pages de synthèse vérifient en outre chaque citation par rapport aux identifiants réels du nœud d'entrée — un identifiant fabriqué échoue maintenant la validation et revient au corps déterministe.
Un double portail de publication
Le lint s'exécute de manière robuste à la fin de chaque compilation, ainsi lint-report.md est toujours à jour. tesserae compile --strict transforme les résultats en sortie non nulle pour CI — et échoue fermé si le lint lui-même plante. Un lint --verify-claims optionnel va plus loin : il vérifie par LLM si les nœuds cités soutiennent réellement la phrase citante (limité, échantillonné de manière déterministe, jamais un bloqueur de compilation).
Le portail de contrôle d'instantané de sortie
Après chaque compilation, Tesserae hache les artefacts compilés et rapporte Output: changed/unchanged. Sous --strict, l'état suspect — entrées inchangées mais sortie changée — échoue la construction : un piège permanent pour la classe de bugs d'idempotence en octets. Un flux de rafraîchissement CI prêt à copier se trouve dans docs/integrations/ci-refresh.md.
Les agents trouvent la base de connaissances par eux-mêmes
tesserae setup installe maintenant un bloc pointeur Tesserae délimité par marqueur dans le fichier AGENTS.md/CLAUDE.md du repo cible (idempotent ; abandonne inchangé sur les marqueurs malformés ou dupliqués ; coexiste avec d'autres blocs gérés). Le fichier index.md à la racine du wiki a été réécrit comme le point d'entrée agent : orientation, une section « comment interroger » orientée MCP en premier, le tableau des types, et les principales communautés. Les pages communautaires gagnent un pied ## Sources déterministe listant les fichiers source membres.
La compilation devient moins chère et l'obsolescence devient visible
La couche graphe de code conserve maintenant un cache d'extraction par couche entière (.tesserae/code-graph-cache.json) : quand le manifeste de statistiques de l'arborescence source est inchangé, le graphe en cache se réhydrate identiquement par octet au lieu de payer un parcours de réextraction complet (des dizaines de secondes sur les grands repos). La CLI rapporte reused ou +added ~changed -removed les comptes delta. L'historique de compilation enregistre le HEAD git au moment de la compilation, et le lint émet des résultats info pour les nœuds du graphe de code dont les fichiers source ont changé depuis — plus une page wiki contradictions.md suit maintenant les conflits de réclamations ouvertes/résolues/obsolètes, et graph_ppr gagne exclude_direct_neighbors pour la découverte de connexions inattendues de style Memex.
Les caches de résumé communautaire s'invalident également sur les synthèses de contenu des membres (pas seulement l'adhésion), ainsi une description changée se résume à nouveau au lieu de servir une narration obsolète indéfiniment.
Notes de mise à jour
- La première compilation après mise à niveau rapporte
Output: changedune fois (les pages communautaires gagnent les sections Sources,index.mddevient le point d'entrée) ; les compilations ultérieures sont byte-stables. tesserae setup(y compris--yes) installe le pointeur agent par défaut ; définissezinstall_agent_pointer=falsedans le plan pour refuser.