---
tags: [note, OpenCode]
type: "note"
nature: documentation
ressource: true
univers: PERSO
projects:
  - "[[03_PROJETS/VPS-IA]]"
date: "[[01_JOURNAL/2026/2026-10-17]]"
status: active
description: "Memory.md : bloc-notes micro d'OpenCode (~400 tokens), sans AGENTS.md ni notes SilverBullet."
---
# Mémoire persistante OpenCode — memory.md

## Objectif

Mémoire vive **ultra-légère et autonome** pour les sessions OpenCode : conserver les apprentissages opérationnels et les préférences de GRK, sans alourdir la consommation de tokens (~400 tokens max).

## Principe hiérarchique (frontières)

| Niveau | Rôle | Qui écrit |
|---|---|---|
| **SilverBullet** — le sanctuaire humain / source de vérité **macro** | Skills, agents, documentation validée — bibliothèque de référence | GRK (ou IA sous contrôle strict) |
| **memory.md** — le bloc-notes **micro** d'OpenCode | État courant, apprentissages dynamiques, mémos opérationnels court/moyen terme | l'IA, de façon autonome |

**Règle d'exclusion stricte** : memory.md ne recopie jamais le rôle/les règles (AGENTS.md), le code/descriptif des skills, ni les notes SilverBullet. Il ne doit **pas non plus être dupliqué dans SilverBullet** : il vit uniquement dans OpenCode, là où il est.

## Emplacement

- Fichier : `/var/lib/opencode/.config/opencode/memory.md` — versionné git, jamais écrasé par `sync-silverbullet.sh`
- Lecture en début de session : via la référence dans `AGENTS.md` (section « Mémoire vive »)

## Structure & limites

- Deux sections : `[USER_PREFERENCES]` et `[LECONS_APPRISES]`
- **Limite : 2000 caractères** (~400 tokens)
- **Garbage collection** : mise à jour autonome dès qu'un apprentissage est validé ; si le fichier approche/dépasse 2000 caractères → résumer, compacter, supprimer les notes obsolètes

## Consolidation mensuelle

- **Cron** : `0 18 * * 5` (tous les vendredis 18h00) → `~/.opencode/bin/cron-hebdo-memory-consolidation.sh`
- Le script teste le jour du mois (≤ 7) : seul le **premier vendredi** envoie l'email
- **Email** : rappel avec le prompt de consolidation (revue de memory.md, propositions de transfert vers AGENTS.md ou nouveau Skill SilverBullet, purge)
- **Flux** : Expérience → notes → `memory.md` → consolidation/validation → `AGENTS.md` (socle) / Skill SilverBullet (outil)

## Procédure de consolidation (mensuelle)

1. Lire memory.md et identifier les éléments mûrs ou structurels
2. Proposer le transfert vers AGENTS.md ou un nouveau Skill SilverBullet
3. Après validation de GRK : appliquer le transfert ; resynchroniser si skill (`~/.opencode/bin/sync-silverbullet.sh`)
4. Purger de memory.md les éléments rapatriés

## Historique

- 17/10/2026 : mise en place — fichier memory.md, référence AGENTS.md, script `cron-hebdo-memory-consolidation.sh`, ligne cron `0 18 * * 5`, commit git `d39d14d`.
