v0.12.2.fr.md
docs/i18n/release-notes/v0.12.2.fr.md
Tesserae v0.12.2 — correction de l'épuisement des descripteurs de fichier et ask sensible à la récence
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Deutsch
<!-- translations:end -->
Publié 2026-06-30 · PyPI · GitHub release · pip install --upgrade tesserae==0.12.2
Deux correctifs de bugs. Compatible avec v0.12.x.
tesserae engine n'épuise plus les descripteurs de fichiers
Un daemon fonctionnant longtemps (notamment en mode fleet, en observant plusieurs projets) pouvait déclencher des tempêtes Too many open files / unable to open database file qui se cascadaient en compilations échouées, un registre de fleet illisible et des erreurs de fichiers temporaires codex — tout partageant la table de descripteurs de fichiers du processus.
La cause : le session tailer conservait chaque transcript de projet dans son ensemble de suivi et ouvrait chaque fichier .jsonl (plus une connexion sqlite) à chaque tick simplement pour vérifier les nouveaux octets. Avec des dizaines de milliers de transcripts terminés, cela représentait des dizaines de milliers d'ouvertures par tick — plus vite que l'OS ne pouvait les récupérer. Désormais, un simple stat() contourne entièrement l'ouverture lorsqu'un transcript n'a pas de nouveaux octets, les fichiers disparus sont supprimés de l'ensemble suivi, et un fichier tronqué/pivoté est relu depuis le début. L'état régulier est ~0 ouvertures pour la majorité inactive ; seuls les transcripts en croissance sont lus.
tesserae ask est sensible à la récence
Un ask fédéré sur le travail récent pouvait afficher les nœuds de synthèse de session vieux de plusieurs semaines (intitulés par exemple "Examiner TOUTES les améliorations qui viennent d'être faites") en haut des résultats — ce sont les correspondances sémantiques les plus fortes pour « travail récent » mais le contenu le plus ancien, et le classement pur par pertinence n'avait pas de signal de récence.
Le rappel fédéré mélange désormais la pertinence d'un nœud avec un score de récence pour que les nœuds plus récents remontent : la pertinence domine toujours (0.25 par défaut), un nœud non daté est traité comme neutre plutôt que récent, et un nœud daté uniquement dans son titre (2026-05-18 — …) est ancré à cette date. Réglez ou désactivez-le avec tesserae ask --recency-weight <0..1> (0 = pertinence pure, le comportement antérieur). Les artefacts compilés et exportés ne sont pas affectés et conservent leur déterminisme au niveau des octets.
Mise à niveau à partir de v0.12.x
Compatible. Si vous exécutez tesserae engine sur plusieurs projets, c'est une mise à niveau recommandée.