Yuno15
← Tous les travaux

Projet personnel · open source · 2026

GreyMatter

Une mémoire persistante pour agents en ligne de commande : un moteur installable, tenu séparé des notes, qui se met à jour tout seul. Publié en open source.

Rôle
Conception, architecture, extraction, publication

Stack

  • Python
  • Bash
  • Electron
  • WebGL
  • GitHub Actions
  • Apache 2.0
Résultat
46 versions publiées sous Apache 2.0, installable en une commande — et un contrôle de fuite qui a le droit de bloquer toute publication.
La carte du tronc sur MacBook Pro et iPad
La même carte du tronc au même instant sur les deux écrans : 701 fiches, 2 881 liens, 21 régions. En bas, l'auto-test du démarrage et la colonne du code en train d'être écrit. Captures d'un tronc de démonstration à la vraie densité, noms et chemins neutralisés avant la photo. Cadres officiels d'Apple, à l'échelle réelle.

La capsule se pose dans un coin de l’écran et ne demande rien. La ligne du dessous nomme la tâche en cours. C’est la seule interface du moteur : tout le reste est du texte.

Chaque point est une fiche, la distance dit la ressemblance. On clique : la fiche s'ouvre avec sa région, son résumé et ses liens. On demande le rangement : la carte se réorganise en anneau. On entre dans une famille : la carte se resserre dessus. Filmé sur un tronc de démonstration à la vraie densité — 701 fiches, 2 881 liens, tous les noms neutralisés avant le tournage

À quoi ça sert

Un agent en ligne de commande est brillant à l’intérieur d’une session et amnésique entre deux. GreyMatter lui donne une mémoire qui dure : ce qu’on résout une fois est distillé en fiche, rangé, relié, et resurgit tout seul à la session suivante.

Ce que le moteur fait

  • Distillation : une session de travail devient des fiches propres — un fait par fiche, avec sa provenance et son degré de certitude.
  • Rappel automatique : à chaque question posée, les fiches pertinentes remontent seules, sans qu’on ait à les chercher.
  • Arbre de connaissance : les fiches se relient entre elles ; une leçon apprise sur un projet est trouvable depuis tous les autres.
  • Agents de jardinage : huit rôles spécialisés rangent, dédupliquent, contestent les fiches périmées et réparent les liens cassés.
  • Planète 3D : le graphe complet se visualise en temps réel, continent par domaine.

Comment une session devient de la mémoire

Tout tourne sur la machine — rien ici n'est un service auquel on se connecte
  1. 01 Le tronc Des fichiers Markdown sur la machine : les fiches, la carte, l’état.
  2. 02 À chaque question Une recherche lexicale choisit les quelques fiches qui répondent et les glisse dans la question.
  3. 03 Pendant la session Ce qui est écrit et ce qui est lu sont notés — la matière réelle du travail.
  4. 04 À la fermeture La session est archivée, puis les agents se réveillent : deux toujours, un troisième seulement si son capteur passe un seuil.
Il n'y a pas de chef d'orchestre : chaque étape est accrochée à un moment de la session. C'est ce qui rend la mémoire gratuite à l'usage — on n'a jamais à penser à l'alimenter.

Ce qui rend la publication possible

Deux dossiers qui ne se mélangent jamais

Le moteur — jetable, remplacé à chaque mise à jour

  • Le code qui range, relie et retrouve
  • Les contrôles et les bancs de mesure
  • Les outils d'installation et de migration

Le tronc — il ne bouge que quand j'écris

  • Un an de notes, de leçons et de décisions
  • Les noms de clients, les adresses, les chemins
  • Ce qu'une mise à jour ne doit jamais toucher
La séparation n'est pas une convention de rangement : une mise à jour remplace entièrement le moteur, et n'a pas le droit d'écrire dans les notes.

La chaîne qui protège le vécu

Du carnet vivant au paquet public
  1. 01 Le carnet vivant Un an de notes réelles : clients, adresses, chemins de machine.
  2. 02 Copie par liste blanche Ce qui n'est pas nommé ne sort pas.
  3. 03 Dépersonnalisation Des règles rejouables retirent noms, numéros et chemins.
  4. 04 Contrôle de fuite 21 marqueurs. Un seul qui rougit et la publication est bloquée.
  5. 05 Le paquet public Le moteur, installable par quiconque. Jamais le vécu.
Une chaîne à sens unique : rien ne remonte du dépôt public vers le carnet. Le contrôle de fuite a le droit de bloquer la publication, et il l'a déjà fait.

Comment il s’installe et se maintient

  • Une commande : le paquet s’installe comme extension d’un agent en ligne de commande.
  • Chaque version est rejouée par une intégration continue : installation complète, désinstallation, et chaque migration passée deux fois — en exigeant qu’elle n’ait mangé aucune fiche.
  • 46 versions publiées, sous licence Apache 2.0, sur un dépôt public.

Code source : github.com/Yuno15-bb/c-brain