À propos du projet
TESSERA (Temporal Evolving State Synthesis with Explicit Relations and Atomic Memories) est une couche de mémoire et de preuves axée sur le texte pour les agents IA. Il est publié sous le nom de tessera-agent-memory, tandis que l'import Python et le CLI restent tessera ; il nécessite Python 3.9+ et est sous licence MIT. La version actuelle est 0.0.1.
Le projet se définit comme une infrastructure de mémoire plutôt que comme l'agent de raisonnement final. Le Markdown et les sources textuelles restent faisant foi ; les index, les graphes, les caches et les enregistrements de preuves sont dérivés et reconstructibles. La récupération renvoie des preuves structurées plutôt qu'une réponse générée, et le README précise que la pertinence n'est pas traitée comme une vérité, une confiance ou une autorité, que les sources ne sont pas réécrites silencieusement lors de l'indexation, et qu'un LLM génératif n'est pas requis pour le chemin de récupération de base.
Interfaces et utilisation
- CLI : tessera init, write, index, query, ainsi que config show/list/doctor/unregister. L'initialisation non interactive nécessite une politique --sources explicite, et les modifications matérielles d'une configuration existante doivent d'abord être inspectées avec --dry-run puis autorisées avec --update-existing.
- API Python : TesseraEngine(storage_dir=...).build_index() et retrieve_context(query, top_n=...), renvoyant des champs tels que l'id, le score avec score_explain, les preuves pertinentes (relevant_evidence), le corps complet de la mémoire, le chemin de la source, l'identité stable du document source, les hachages de version de la source, la portée de la preuve (evidence span) et les ID de mémoire liés.
- MCP : un extra optionnel tessera[mcp] ajoute le transport MCP (SDK v1.30+, Python 3.10+, certifié sur 3.12), avec tessera-mcp --project /absolute/project ; un extra optionnel tessera[llm] ajoute un pont HTTP LLM.
Modèle de mémoire et stockage
- Exactement trois tiroirs sémantiques sont conservés : facts, preferences et insights.
- L'identité est séparée de l'emplacement du fichier et de la version du contenu, donc le déplacement d'un document ne crée pas automatiquement une nouvelle mémoire ou une nouvelle identité de source.
- La configuration utilise le schéma v2 lisible par l'humain : store.path est la destination de la mémoire générée, sources.roots est une liste d'autorisation explicite de lecture/indexation, et index.path est l'état dérivé jetable à l'intérieur du projet. Un registre global utilisateur peut mémoriser des magasins nommés sans copier ni fusionner leur mémoire.
- L'ordre de résolution du stockage est : chemin explicite, TESSERA_STORAGE_DIR, LAO_MEM_DIR (obsolète), configuration de projet la plus proche, puis une entrée globale nommée ; les opérations CLI échouent avec une erreur exploitable si aucun n'est sélectionné.
- Le Markdown est le seul format d'écriture canonique ; les formats non supportés et l'ingestion JSON arbitraire sont rejetés avant toute mutation du stockage, du registre, du graphe, de l'index ou de l'Evidence Ledger.
- Les écritures suivent un contrat déterministe : validation du chemin, détection, transformation optionnelle, admission, persistance. Le contenu sûr est accepté sans modification ; les entrées vides et les instructions hostile connues sont rejetées ; les exemples cités et les entrées contenant uniquement des balises suspectes sont envoyés en révision sans effets de persistance.
- Un fichier .tessera-ignore optionnel supporte un sous-ensemble documenté de la syntaxe ignore (commentaires, *, ?, **, suffixe de répertoire, ré-inclusion ordonnée !) ; les exclusions obligatoires telles que .git, l'index dérivé et les artefacts d'identification ne peuvent pas être ré-inclus.
Évaluation et statut
Un registre compact et non sensible versionne un profil de récupération déterministe LongMemEval V1 dev-50, enregistrant les métriques de récupération agrégées, les entrées gelées, la configuration, la provenance du commit, le coût et les hachages sans committer le jeu de données ou les mappages de vérité terrain. Chaque pull request déclare l'applicabilité du benchmark ; des rapports hors ligne sont exécutés par PR et le profil de 50 requêtes gelées est contrôlé par rapport au SHA de base de la PR. Le README note que ces scores mesurent la récupération de preuves, et non l'exactitude de la réponse finale.
TESSERA est décrit comme une Fondation en évolution. Les fonctionnalités disponibles aujourd'hui incluent les métadonnées canoniques et la classification des documents, l'identité stable de la mémoire et de la source, la récupération locale explicable, les preuves pertinentes sensibles aux requêtes, l'Evidence Ledger et la provenance, l'analyse/navigation des relations, les interfaces Python/CLI/MCP, et une CI déterministe avec évaluation de santé. Les éléments encore en test incluent l'indexation incrémentale et idempotente, l'ingestion et la segmentation de texte plus larges, une base de référence LongMemEval, l'expansion de graphe sensible aux requêtes, l'état temporel, l'arbitrage des preuves conflictuelles et la récupération adaptative. La documentation couvre l'architecture, les concepts, des exemples de requêtes, le contrat de sortie de récupération, une feuille de route, des références de recherche et une politique de changement ; le dépôt est actuellement maintenu par Luigi Ferronatto.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.