1. Capture verbatim
Un message, document, ticket ou artefact est d'abord archivé tel qu'il existe, avec source, temps, surface et provenance. La capture doit réussir avant toute synthèse.
La mémoire d'Elora n'est pas un simple historique de chat. Elle sépare capture brute, mémoire canonique, mémoire opérationnelle, mémoire relationnelle, retrieval et propositions d'apprentissage.
Un message, document, ticket ou artefact est d'abord archivé tel qu'il existe, avec source, temps, surface et provenance. La capture doit réussir avant toute synthèse.
Si PostgreSQL est disponible, l'objet va dans l'archive locale. S'il est indisponible, Elora écrit dans un spool local append-only pour rejouer plus tard.
Les contenus longs sont chunkés. Les embeddings locaux via Ollama améliorent le rappel sémantique, mais le texte original reste conservé.
Elora peut proposer des entries canoniques: fait, préférence, décision, contrainte, événement, hypothèse, pattern ou expression. Une proposition n'est pas encore vérité durable.
Les entrées maintenues reçoivent canonical_text, embedding_text, truth_mode, scope, confiance, temporalité, sources et liens de provenance.
Une nouvelle information ne détruit pas l'ancienne. Elle peut la confirmer, la contredire, la remplacer, la déprécier ou la limiter dans le temps.
À la demande, Elora génère un snapshot Markdown privé: README canonique, index, manifest JSON et fichiers par entrée. Ce miroir sert à lire, auditer, exporter ou alimenter des outils.
Ces couches sont maintenant exposées dans le contrat JSON d'elora-context. Elles ne sont pas un simple concept rédactionnel: elles permettent de voir ce qu'Elora sait localement, ce qu'elle infère du routage, ce qui manque, et quand une clarification ou une recherche profonde est nécessaire.
État minuscule toujours disponible: identité opérateur, mission, persona active, priorités, préférences stables.
Faits et contraintes durables, projets en cours, définitions stables, open loops et préférences importantes.
Rappel ciblé pour un projet, une personne, un incident, un repo, une mission ou un sujet précis.
Recherche plus coûteuse: sémantique large, lexical, graphe, temps, contradictions et preuves faibles.
Le premier système historique était plus file-backed. Memory V2 garde la leçon de simplicité, mais ne garde pas un deuxième canon caché: la vérité durable vit dans PostgreSQL. Le fallback sert à ne pas perdre une capture ou une entrée quand la base n'est pas joignable.
Le miroir Markdown répond à un besoin différent du fallback. Le fallback protège une capture quand PostgreSQL est indisponible. Le miroir Markdown expose une photographie lisible de ce qui est déjà dans PostgreSQL.