Ingestion
These tools bring information into the memory: a free capture (mem), a note, a principle, a goal, a person card, a local document, a codebase-map fact.
They all write. Each one drops its note in its own zone: 00-inbox/ for mem and mem_doc, 20-knowledge/ for notes, 40-principles/, 50-goals/, 60-people/. For mem_note, a name collision is resolved with a suffix, never by overwriting.
To ask for them by talking to your agent, see Write to the memory.
In practice
« Note this down: "A sealed fragment is never edited by hand." »
mem_notetitle=Sealed fragmentcontent=A sealed fragment is never edited by hand.
« Remember this principle, a red line: only document what the code supports. »
mem_principletitle=Only document what the code supportscontent=A claim that neither the catalog nor the code supports does not belong in the reference.force=red-line
« Add a short-term goal: publish the documentation by 2026-12-01. »
« Create a card for Claire Martin, a client. »
« Absorb this document into the memory: /Users/ben/Documents/cahier-des-charges.pdf. »
mem_docpath=/Users/ben/Documents/cahier-des-charges.pdftitle=Cahier des charges
The tools
mem
Captures free text into the inbox (00-inbox/) when you do not know what kind of note it is; an optional type hint (note, principle, goal, person or idea) guides later sorting.
Catalog description (French, verbatim):
Capture universelle dans 00-inbox/, quand la nature du contenu n'est pas précisée. Un indice de type oriente le classement ultérieur.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
content | string | oui / yes | Texte ou Markdown à capturer. |
hint | string | non / no | Indice de type : note, principle, goal, person ou idea. |
mem_note
Ingests a knowledge note into 20-knowledge/; a name collision is resolved with a suffix, never by overwriting.
Catalog description (French, verbatim):
Ingère une note de connaissance dans 20-knowledge/. Une collision de nom est résolue par un suffixe, jamais par un écrasement.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
content | string | oui / yes | Corps Markdown de la note. |
project | string | non / no | Projet de rattachement. |
scope | string | non / no | work (défaut), personal ou all. |
title | string | oui / yes | Titre de la note, qui sert de slug. |
mem_principle
Ingests a principle into 40-principles/{scope}/ with its force: red-line, heuristic, value or action-rule.
Catalog description (French, verbatim):
Ingère un principe dans 40-principles/{scope}/, avec sa force : red-line, heuristic, value ou action-rule.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
content | string | oui / yes | Corps Markdown : raison d'être, quand l'appliquer. |
force | string | non / no | red-line, heuristic (défaut), value ou action-rule. |
project | string | non / no | Projet de rattachement. |
scope | string | non / no | work (défaut), personal ou all. |
title | string | oui / yes | Titre court du principe. |
mem_goal
Ingests a goal into 50-goals/{horizon}/ with its horizon, status and optional deadline.
Catalog description (French, verbatim):
Ingère un objectif dans 50-goals/{horizon}/, avec son horizon, son statut et son échéance éventuelle.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
content | string | non / no | Corps Markdown facultatif. |
deadline | string | non / no | Échéance au format AAAA-MM-JJ. |
horizon | string | non / no | short (défaut), medium ou long. |
project | string | non / no | Projet de rattachement. |
scope | string | non / no | work (défaut), personal ou all. |
status | string | non / no | open (défaut), in-progress, done ou abandoned. |
title | string | oui / yes | Titre de l'objectif. |
mem_person
Ingests a person card into 60-people/{relation}/; the card is marked sensitive by default.
Catalog description (French, verbatim):
Ingère une carte de personne dans 60-people/{relation}/. La carte est marquée sensible par défaut.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
name | string | oui / yes | Nom complet, qui sert de slug. |
notes | string | non / no | Notes libres. |
project | string | non / no | Projet de rattachement. |
relation | string | non / no | colleague (défaut), client, friend, family ou other. |
role | string | non / no | Fonction ou intitulé de poste. |
scope | string | non / no | work (défaut), personal ou all. |
sensitive | boolean | non / no | Marquer la carte sensible (vrai par défaut). |
mem_doc
Ingests a local document (Markdown, text, PDF, DOCX, XLSX, PPTX, HTML or CSV) into the inbox (00-inbox/).
Catalog description (French, verbatim):
Ingère un document local dans 00-inbox/. Formats lus : Markdown, texte, PDF, DOCX, XLSX, PPTX, HTML et CSV.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
path | string | oui / yes | Chemin absolu du document local. |
project | string | non / no | Projet de rattachement. |
scope | string | non / no | work (défaut), personal ou all. |
title | string | non / no | Titre. Défaut : le radical du nom de fichier. |
mem_codebase
Records on a project's codebase map a fact the code does not state by itself (a layer boundary, an invariant, a trap already paid for, a decision), citing the files it describes so it can later be declared stale.
Catalog description (French, verbatim):
Inscrit à la carte d'une codebase un fait que le code ne dit pas de lui-même : ce qui a le droit de traverser quelle couche, un invariant qui tient, un piège déjà payé, une décision qui explique une forme surprenante. À APPELER SUR LE MOMENT, quand tu viens de comprendre quelque chose de coûteux — une demi-heure plus tard le fait est acquis et ne paraîtra plus digne d'être écrit. Consulte d'abord mem_codebase_scan : ses candidats non décrits nomment les fichiers que la carte attend. L'entrée cite les fichiers qu'elle décrit et leurs empreintes sont relevées au disque, ce qui permettra de la déclarer périmée quand ils bougeront. Refusée si elle ne cite aucun fichier sans dire pourquoi.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
aliases | array<string> | non / no | Les mots par lesquels un humain cherchera plus tard, en langue VÉCUE et non technique. |
body | string | oui / yes | Pourquoi c'est vrai, et ce que coûte de l'ignorer. |
describes | array<string> | non / no | Chemins RELATIFS à la racine du dépôt que cette entrée décrit. Leurs empreintes sont calculées ici en lisant les fichiers — ne les fournis pas. Un chemin absent est refusé : l'entrée naîtrait périmée. |
fact | string | oui / yes | LE FAIT, écrit comme il se dit : « la CI ne couvre pas release-kit », jamais « ci ». Il nomme l'atome et c'est par lui qu'on le retrouvera. |
project | string | oui / yes | Slug du projet dont il est question. |
unmeasurable_because | string | non / no | Obligatoire SI et seulement si describes est vide : pourquoi ce fait ne se rattache à aucun fichier. Un interdit de conception, par exemple. Sans lui ni describes, l'entrée est refusée. |