v0.28.2.fr.md
docs/i18n/release-notes/v0.28.2.fr.md
Tesserae v0.28.2 — verify_claim depuis le shell, et une documentation qui mentait à son sujet
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Deutsch
<!-- translations:end -->
Released 2026-07-27 · PyPI · GitHub release · pip install --upgrade tesserae==0.28.2
Les deux points viennent d'une équipe qui développait sur verify_claim depuis une autre base de code. Tous deux relèvent de ce qu'on ne découvre qu'en devenant soi-même consommateur.
tesserae verify-claim
verify_claim n'était qu'un outil MCP, rien de plus. Il restait donc hors de portée de quiconque parle à Tesserae par sous-processus plutôt qu'en l'important — et l'importer n'est pas gratuit : cela tire tout l'arbre dans votre environnement virtuel et couple la version de votre projet à la nôtre.
Le même manque que graph-map a comblé en v0.25, et le même correctif.
tesserae verify-claim -s 'Flash Attention' -p uses -o 'Tiling'
# -> {verdict, reason, triple, citation, provenance, advisory}
Les extrémités se résolvent par id de nœud exact, nom unique en casefold ou alias unique. Il n'y a pas d'entrée en langage naturel, par conception : tout le reste donne NOT_RESOLVABLE plutôt qu'une supposition.
Le code de sortie vaut 0 pour tout verdict qui est une réponse, y compris ABSENT (« ce graphe ne l'affirme pas » est une vraie réponse, pas une erreur), et 2 pour NOT_RESOLVABLE, afin qu'un script distingue n'a pas pu vérifier de a vérifié, et voici le résultat. Branchez sur verdict conjointement avec provenance.class ; jamais sur reason.
Le ré-ancrage (re-grounding) décide des verdicts. La doc disait qu'il ne le pouvait jamais.
La documentation du paramètre reground promettait qu'il était « advisory only » et qu'il « ne peut jamais changer le verdict ». L'implémentation la contredit depuis sa rédaction : document_backed exige regrounded is not False.
C'est l'implémentation qui avait raison. SUPPORTED affirme que la preuve d'une assertion est un extrait littéral d'un document réel, or sur le graphe réel de 15 284 arêtes, 198 des 2 088 verdicts SUPPORTED citaient un texte que le fichier ne contient manifestement pas — des fragments que l'extracteur avait recousus par-dessus des titres. La classe seule ne peut pas le voir, puisqu'elle est calculée à partir des métadonnées et que seul le ré-ancrage lit le disque.
C'est donc la documentation qui a été corrigée, pas le garde-fou :
regrounded: false— nous avons lu le fichier et l'extrait était absent. Une preuve réfutée ne peut pas êtreSUPPORTED; le verdict est rétrogradé enPRESENT_UNEVIDENCED.regrounded: null— non vérifié (--no-reground, ou pas desource_pathlisible). Ne rétrograde rien. Réfuter, pas présumer.
Le verdict reste une fonction pure des octets du graphe à reground fixé. Le ré-ancrage est le seul axe sur lequel un même graphe peut répondre différemment, parce que c'est le seul qui lise un fichier que le graphe ne possède pas — et il ne peut déplacer un verdict que vers le bas.
Si vous consommez verify_claim, cela change ce qu'il faut lire. Se fonder sur verdict a toujours été juste. Traiter regrounded comme une couleur ignorable ne l'était pas : c'est une entrée de verdict, pas une décoration posée dessus.
Également
Le verbe CLI charge désormais son graphe par le même chemin que l'outil MCP, si bien que la surcouche de découverte de connexions s'applique des deux côtés. verify_claim est local à la paire : une arête découverte exactement entre les deux extrémités testées tomberait sinon dans l'ensemble d'arêtes d'une surface et pas de l'autre — le même triplet répondant différemment selon la façon de l'appeler.
tesserae --help listait verify-claim deux fois.
Mise à niveau depuis v0.28.1
Drop-in. Aucun changement d'API ; le contrat à sept verdicts de verify_claim et les clés de sa charge utile sont inchangés depuis la v0.27.0.