Archiver une session
Ce parcours sert à garder la trace de ce que la session a apporté, pour que la suivante reparte de là. Il a deux modes : une mise à jour du contexte pendant le travail, et une archive complète en fin de session.
L'archivage n'est jamais automatique. Kessho n'archive rien de lui-même : un archivage a lieu quand l'agent appelle l'outil, parce que vous le lui demandez ou parce qu'il le juge utile et nécessaire. Ce qu'un agent décide de faire seul dépend de ses capacités et des consignes qu'il suit (la procédure livrée avec Kessho, les instructions de votre projet) : certains archivent de leur propre initiative, d'autres attendent votre demande.
Ce que vous demandez à l'agent
Vous pouvez demander à tout moment que le contexte soit mis à jour. Selon ses capacités et ses consignes, l'agent peut aussi le faire de lui-même quand il juge qu'un fait, une décision ou une prochaine étape mérite d'être gardé ; aucune règle de Kessho ne l'y oblige. Pour le provoquer vous-même :
« Passe la phase du projet kessho-docs à « rédaction », sans toucher au reste du contexte. »
« Pose ce résumé sur kessho-docs : « Documentation bilingue de Kessho, référence MCP dérivée du catalogue. » »
mem_set_summaryslug=kessho-docssummary=Documentation bilingue de Kessho, référence MCP dérivée du catalogue.
En fin de session, c'est à vous de demander l'archive complète (« on s'arrête », « j'ai fini », ou /mem-archive dans Claude Code) ; un agent peut aussi la proposer ou la lancer de lui-même s'il juge la session assez riche :
« On s'arrête là : archive la session de kessho-docs. Elle a posé le plan de la section « Avec un agent » ; retiens aussi le principe « on ne documente que ce que le code soutient ». »
mem_archiveslug=kessho-docsmode=fullarchive_subject=Plan de la section Avec un agentarchive_body_md=Plan arrêté : sept parcours, un contrôle des outils cités.context_md=## Où en est le projet Section « Avec un agent » en cours de rédaction. ## Prochaines étapes 1. Relire les sept parcours.derive=[{"fact":"On ne documente que ce que le code soutient","body":"Une affirmation que le catalogue ne soutient pas n’a pas sa place dans la section.","kind":"principle"}]
« Annule la dernière archive de kessho-docs, je me suis trompé de projet. »
Ce que fait l'agent
Pendant la session : le mode incrémental
mem_archive sans mode (ou avec mode: "incremental") réécrit uniquement le context.md du projet. Aucune archive n'est créée, aucune ligne n'est ajoutée à l'historique.
slugest le seul paramètre obligatoire.context_mdest le nouveau corps entier : il remplace l'actuel. Pour le garder tel quel (par exemple pour ne poser qu'une phase), l'agent omet le champ. Une chaîne vide est refusée, rien n'est écrit.phasepose la phase, seulement si elle est fournie.mem_update_phasefait la même chose seule, en préservant le corps mot pour mot ; une chaîne vide efface la phase.expect_decisionsliste des décisions qui doivent survivre au nouveau corps : si elles n'y sont plus, l'appel est refusé.- Un lien
[[…]]du corps qui ne mène à aucune note est refusé : l'agent corrige ou retire le lien.
Les refus tombent avant la première écriture : un refus ne laisse rien à moitié fait.
En fin de session : le mode complet
mode: "full" fait trois choses : il crée une archive horodatée dans archives/ du projet, il ajoute sa ligne en tête de history.md, et il réécrit context.md. Il exige :
archive_subject(le sujet court) etarchive_body_md(le corps de l'archive) ;- ce que la session laisse de durable, ou pourquoi elle n'en laisse pas. Soit
derived_atoms(des liens vers des notes qui existent déjà), soitderive, soitno_derived_because(la raison). Le serveur refuse le silence : une archive qui ne dit ni l'un ni l'autre n'est pas écrite. Un simple « rien de durable ce soir » suffit pourno_derived_because, mais pas une chaîne vide. L'idée est qu'un fait resté dans une archive se retrouve plus difficilement qu'une note à part.
derive est le raccourci : une liste de faits (fact, body, kind parmi principle, goal, knowledge) que l'outil écrit lui-même comme notes dans leur zone, avec un lien retour vers la session. Si un des noms est déjà pris, l'archivage tout entier est refusé : aucune note n'est écrasée, aucun suffixe n'est ajouté.
Options : archive_aliases (les mots de tous les jours par lesquels on cherchera cette archive plus tard, ce qui l'aide à ressortir dans mem_search) et archive_extra_fm (du frontmatter en plus : les listes tags sont fusionnées, les autres clés remplacées).
Les liens [[…]] sont contrôlés comme en mode incrémental, dans les deux corps (ceux des notes que derive va créer comptent comme existants). Le projet doit être actif : un projet archivé est refusé (voir Reprendre un projet).
Après l'archive
mem_set_summarypose le résumé court du projet, 300 caractères au plus, dans le frontmatter decontext.md. Le catalogue demande de l'appeler après chaque archivage : le résumé est écrit par l'agent, le vault ne peut pas le deviner.- Si la mémoire est un dépôt git et que la case Automatisme (« Les agents commitent et synchronisent automatiquement », dans Réglages › Synchronisation) est cochée, l'automatisme de Kessho commite et pousse ce que l'outil vient d'écrire, et la procédure demande à l'agent d'appeler
mem_git_syncen fin de session. Voir Synchroniser la mémoire.
Annuler la dernière archive
mem_rollback_archive (slug) supprime la dernière archive du projet et retire sa ligne de history.md. Deux limites, dites par le catalogue et par le code :
context.mdn'est pas restauré : il garde le corps que l'archive avait écrit.- les notes écrites par
derivene sont pas retirées : l'outil ne touche que l'archive et l'historique.
L'outil n'a aucune garde : pas de confirm, il supprime dès l'appel. Il vaut mieux que l'agent vous demande confirmation avant de l'appeler.
L'archive supprimée ne va pas dans une corbeille : seul l'historique git, si elle y avait été commitée, la garde.
Ce que vous voyez

Quand l'agent écrit, le témoin de fraîcheur (la pastille en haut à droite) s'allume. Son panneau dit depuis quand et quelle zone a bougé ; Relire recharge l'écran (voir Zones).
Une archive apparaît dans la zone Sessions, sous son projet ; le contexte est celui que lit l'écran Clés de contexte, avec le nombre d'archives et la date de la dernière session (voir Accueil). Le champ GIT de la barre d'état dit où en sont les commits (voir Synchronisation).