Archive and session
These tools handle the life of a work session: archive it, cancel the last archive, shelve a finished project, set a project's phase or summary, keep the week's worklog.
They write to the vault, except mem_archive_rewrite_paths, which only rewrites when confirm is true (without it, it is a dry run). mem_worklog also writes, but only in its persist phase: its collect phase, the default, is read-only. mem_rollback_archive deletes the last archive and its history.md entry; context.md is not restored.
To ask for them by talking to your agent, see Archive a session.
In practice
« Set the kessho-docs project phase to "writing", without touching the rest of the context. »
« Set this summary on kessho-docs: "Bilingual Kessho documentation, MCP reference derived from the catalog." »
mem_set_summaryslug=kessho-docssummary=Bilingual Kessho documentation, MCP reference derived from the catalog.
The tools
mem_archive
Archives a session: in incremental mode it only rewrites context.md during the session; in full mode it creates a timestamped archive, prepends it to history.md and resets context.md.
Catalog description (French, verbatim):
Archive une session. Mode incrémental : réécrit context.md seul, en cours de session. Mode complet : crée une archive horodatée, préfixe history.md et réinitialise context.md.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
archive_aliases | array<string> | non / no | Mode complet : autres mots par lesquels cette archive sera cherchée plus tard — le vocabulaire VÉCU, pas celui du correctif (« barre de menus » pour systray, « l'app est toute blanche » pour un écran vide). Écrits en aliases, clé de frontmatter répandue (Obsidian la lit aussi), et pesés comme une désignation au classement de mem_search. |
archive_body_md | string | non / no | Mode complet : corps de l'archive. |
archive_extra_fm | object | non / no | Frontmatter additionnel fusionné à celui de l'archive : les listes tags sont concaténées sans doublon, toute autre clé est remplacée. Le paramètre était accepté sans être déclaré — donc indécouvrable. |
archive_subject | string | non / no | Mode complet : sujet court de l'archive. |
context_md | string | non / no | Nouveau corps de context.md, qui REMPLACE l'actuel. Omis (ou null) : le corps actuel est gardé tel quel — c'est ainsi qu'on ajoute une archive ou pose une phase sans toucher au contexte. Une chaîne vide ou faite d'espaces est refusée, rien n'est écrit : pour garder le contexte, omettre le champ. |
derive | array<object> | non / no | Mode complet : les faits durables à ÉCRIRE comme atomes curatés. L'outil les crée dans leur zone, pose le lien retour vers cette session, et ajoute leurs wikiliens à derived_atoms — un seul appel au lieu d'un par fait. Un nom déjà pris fait REFUSER l'archivage en entier, sans suffixe ni écrasement. |
derive[].body | string | oui / yes | Pourquoi il est vrai, et ce que coûte de l'ignorer. |
derive[].fact | string | oui / yes | Le fait, qui nomme l'atome et par lequel on le retrouvera. |
derive[].kind | string | oui / yes | principle | goal | knowledge — les trois zones curatées. |
derived_atoms | array<string> | non / no | Mode complet, OBLIGATOIRE sauf si no_derived_because est donné : ce que la session laisse de durable — un principe qui contraindra le travail futur, un but posé ou changé, une connaissance qui a coûté à acquérir. Un fait resté dans une archive se retrouve en 4 à 6 tentatives, contre 1 à 3 pour un atome curaté. |
expect_decisions | array<string> | non / no | Décisions cumulatives devant survivre au nouveau corps. |
mode | string | non / no | 'incremental' (défaut) ou 'full'. |
no_derived_because | string | non / no | Mode complet, OBLIGATOIRE si et seulement si derived_atoms est vide : pourquoi cette session ne laisse rien de durable. Un simple « rien de durable ce soir » suffit — ce qui est refusé est le SILENCE, pas la brièveté. Une question sautée est indiscernable d'une réponse vide. |
phase | string | non / no | Nouvelle phase, écrite seulement si fournie. |
slug | string | oui / yes | Slug du projet ou domaine. |
source_hint | string | non / no | 'archeo-git' pour valider le frontmatter d'archive archéo. |
mem_rollback_archive
Cancels a project's last archive: deletes it and removes its line from history.md; context.md is not restored.
Catalog description (French, verbatim):
Annule la dernière archive d'un projet : la supprime et retire sa ligne de history.md. context.md n'est pas restauré.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
slug | string | oui / yes | Slug du projet ou domaine. |
mem_historize
Moves a finished project to 10-episodes/archived/, or brings it back with revive, correcting its phase, archived_at and display suffix.
Catalog description (French, verbatim):
Déplace un projet terminé vers 10-episodes/archived/, ou l'en ramène avec revive. Corrige la phase, archived_at et le suffixe d'affichage.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
revive | boolean | non / no | Ramener le projet parmi les actifs. |
slug | string | oui / yes | Slug du projet. |
mem_update_phase
Updates the phase in a project's context.md while preserving its body word for word; an empty string clears the phase.
Catalog description (French, verbatim):
Met à jour la phase du context.md d'un projet en préservant son corps mot pour mot. Une chaîne vide efface la phase.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
phase | string | oui / yes | Nouvelle phase. Chaîne vide pour l'effacer. |
slug | string | oui / yes | Slug du projet ou domaine. |
mem_set_summary
Sets the short summary (300 characters at most) of a project or domain in the frontmatter of its context.md, preserving the rest of the file; the summary is written by the agent.
Catalog description (French, verbatim):
Pose le résumé court d'un projet ou domaine dans le frontmatter de son context.md, en préservant le reste du fichier. À appeler après chaque archivage ou point de contrôle mémoriel. Le résumé est ÉCRIT par l'agent : le vault ne sait pas le deviner, et aucune extraction n'est fiable. Borné à 300 caractères — un champ libre sans borne devient un journal.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
slug | string | oui / yes | Slug du projet ou domaine. |
summary | string | oui / yes | Le résumé, en une phrase ou deux. 300 caractères au plus. Les retours à la ligne sont écrasés. |
mem_worklog
Collects the ISO week's archives with their hourly proration (collect phase, read-only), then writes the worklog at three levels of verbosity (persist phase).
Catalog description (French, verbatim):
Rassemble les archives de la semaine ISO et leur proration horaire. Phase collect en lecture seule, phase persist écrit le worklog en trois niveaux de verbosité.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
amplitude_hours | number | non / no | Heures travaillées par jour (défaut 7). |
brief_md | string | non / no | |
detailed_md | string | non / no | |
digest_md | string | non / no | |
include_weekend | boolean | non / no | Inclure samedi et dimanche. |
phase | string | non / no | 'collect' (défaut) ou 'persist'. |
week_of | string | non / no | Date d'ancrage AAAA-MM-JJ. Vide : aujourd'hui. |
mem_archive_rewrite_paths
Rewrites the absolute paths found in a project's archives into the portable <repo>/ form; a dry run unless confirm is true.
Catalog description (French, verbatim):
Réécrit les chemins absolus des archives d'un projet en sigils <repo>/… . Essai à blanc par défaut.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
confirm | boolean | non / no | Sans confirm, l'appel est un essai à blanc. |
include_context_history | boolean | non / no | Réécrire aussi context.md et history.md (défaut vrai). |
old_root | string | non / no | Ancienne racine absolue. Défaut : le repo_path courant. |
slug | string | oui / yes | Slug du projet. |