v0.24.0.fr.md
docs/i18n/release-notes/v0.24.0.fr.md
Tesserae v0.24.0 — le cycle de sommeil complet : oubli par désusage, découverte de connexions
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Deutsch
<!-- translations:end -->
Publié 2026-07-22 · PyPI · GitHub release · pip install --upgrade tesserae==0.24.0
v0.23 a donné au moteur un cycle de sommeil qui compressait la mémoire pendant le repos inactif. Mais la consolidation dans un cerveau n'est pas seulement une compression — elle supprime aussi ce que vous ne revisitez jamais et lie les mémoires qui s'avèrent être connexes. Cette version ajoute ces deux opérations, donc le cycle inactif du daemon exécute maintenant les trois.
1 · Oubli par désusage (LRU)
Jusqu'à présent, la décroissance d'une conclusion était basée sur son âge. Cela enterre systématiquement les vieilles gotchas rarement vues — exactement celles dont vous avez le plus besoin quand elles se reproduisent. Maintenant, chaque lecture significative enregistre l'accès : recherche, ask, query, context, node_context, drill_down, les recherches de conclusions de session et les lectures scoped au niveau agent tamponnent tous last_accessed_at dans le sidecar mémoire.
La passe de consolidation décroît ensuite par récence de récupération, pas par âge de création. La connaissance que vous consultez continuellement reste vive ; la connaissance que vous ne revisitez jamais s'efface lentement et est absorbée ou rétrogradée pendant le cycle de sommeil — véritable oubli LRU. (Une conclusion n'est jamais supprimée ; elle est pliée dans la distillation qui la cite, accessible via agents drill.)
2 · Découvrir de nouvelles connexions
Le sommeil rejoue aussi les mémoires et relie les éloignées. La nouvelle passe associate s'exécute pendant la consolidation : elle utilise les embeddings pour trouver les nœuds connexes — pas identiques — à travers les différents agents d'un projet et ajoute les connexions shares_concept_with entre eux. Les liens découverts s'accumulent à travers les cycles et sont traversables par la recherche, PageRank personnalisé et les requêtes fédérées, donc un agent peut atteindre la connaissance pertinente qu'il n'a jamais explicitement liée.
Le déterminisme a tenu
Les deux opérations écrivent uniquement au sidecar — l'état d'accès au magasin node_memory, les liens découverts à une surcouche .tesserae accumulée qui est fusionnée en mémoire lors de la lecture. graph.json n'est jamais touché, donc la compilation reste byte-identique. Les liens découverts sont basés sur les embeddings (et donc dépendants de la machine), ce qui est exactement pourquoi ils vivent dans la surcouche et jamais dans le graphe déterministe. L'association est fermée sur un vrai backend d'embedding (pip install "tesserae[semantic]") et est une opération silencieuse sans un.
Le cycle, maintenant complet
export TESSERAE_AGENT_DISTILL=1
tesserae engine # idle → compress · forget-by-disuse · associate
Rien de nouveau à configurer — les trois opérations s'exécutent à l'intérieur de la passe de consolidation inactif existante, sous la porte de compilation, ne bloquant jamais une recompilation. Détails complets :