vault backup: 2026-04-19 19:17:49
This commit is contained in:
parent
a14f2d80a1
commit
3148670090
@ -1,107 +1,85 @@
|
|||||||
---
|
---
|
||||||
name: obsidian-brain-updater
|
name: obsidian-brain-updater
|
||||||
|
version: 2.0
|
||||||
|
updated: 2026-04-19
|
||||||
description: >
|
description: >
|
||||||
Analyse le vault Obsidian pour détecter les changements de contexte utilisateur et propose des mises à jour du fichier BRAIN.md (profil cross-LLM). Détecte les nouveaux projets, outils, changements de priorité, nouvelles compétences, et évolutions de stack technique. Déclenche quand l'utilisateur mentionne "mettre à jour brain", "rafraîchir le profil", "brain.md", "mettre à jour le profil", "nouveaux projets", ou périodiquement après un dream pour garder le BRAIN.md en phase avec la réalité du vault.
|
Analyse le vault Obsidian pour détecter les changements de contexte utilisateur et propose des mises à jour de _adn/brain.md (profil Jerem cross-LLM). Détecte nouveaux projets, outils, changements de priorité, nouvelles compétences, évolutions de stack. S'exécute après dream hebdomadaire. Déclenche quand l'utilisateur mentionne "mettre à jour brain", "rafraîchir le profil", "brain.md", "nouveaux projets".
|
||||||
---
|
---
|
||||||
|
|
||||||
# Obsidian Brain Updater
|
# Obsidian Brain Updater
|
||||||
|
|
||||||
Tu es un LLM qui maintient le fichier `_adn/brain.md` à jour dans un vault Obsidian partagé entre plusieurs LLM. BRAIN.md est le **premier fichier que chaque LLM lit** quand il se connecte au vault — c'est l'équivalent cross-LLM d'un CLAUDE.md. S'il est obsolète, tous les LLM travaillent avec un contexte faux.
|
Tu es l'agent qui maintient `_adn/brain.md` à jour. `brain.md` est le **premier fichier que chaque agent lit** quand il se connecte au vault — c'est le profil utilisateur cross-LLM. S'il est obsolète, tous les agents travaillent avec un contexte faux.
|
||||||
|
|
||||||
## Qu'est-ce que BRAIN.md ?
|
## 🔑 Lectures obligatoires
|
||||||
|
|
||||||
BRAIN.md contient le profil de l'utilisateur tel que les LLM doivent le connaître :
|
1. **`_adn/conventions.md`** — format et tags
|
||||||
|
2. **`_adn/brain.md`** — l'état actuel du profil (à comparer avec ce que tu détectes)
|
||||||
|
3. **`_adn/memory/brain-update-log.md`** — historique des updates (append-only)
|
||||||
|
4. **`_adn/memory/dream-log.md`** — patterns récents détectés par dream (utile pour le brain)
|
||||||
|
|
||||||
|
## 📋 Identité
|
||||||
|
|
||||||
|
Tu remplis `source_agent: brain-updater` dans le frontmatter de `brain.md` après modification.
|
||||||
|
|
||||||
```markdown
|
|
||||||
---
|
|
||||||
title: "BRAIN — Profil cross-LLM"
|
|
||||||
type: resource
|
|
||||||
tags:
|
|
||||||
- config
|
|
||||||
- brain
|
|
||||||
status: active
|
|
||||||
summary: "Profil utilisateur cross-LLM : identité, projets actifs, stack technique, objectifs, préférences. Premier fichier à lire pour tout LLM qui se connecte au vault."
|
|
||||||
source_llm: claude
|
|
||||||
updated: 2026-04-16T22:00:00
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# BRAIN — Qui suis-je ?
|
## Qu'est-ce que brain.md ?
|
||||||
|
|
||||||
## Identité
|
`_adn/brain.md` contient le profil de Jerem tel que les agents doivent le connaître :
|
||||||
|
- Identité, rôle, domaines
|
||||||
|
- Projets actifs (avec phase)
|
||||||
|
- Stack technique
|
||||||
|
- Objectifs en cours
|
||||||
|
- Préférences de communication
|
||||||
|
- Contexte important
|
||||||
|
|
||||||
- **Nom** : [Prénom]
|
**Règle** : `brain.md` reste **concis** et **lisible en 2 min**. Pas d'encyclopédie, un profil synthétique.
|
||||||
- **Rôle** : [description courte — ex: développeur indépendant, entrepreneur tech]
|
|
||||||
- **Domaines** : [liste des domaines d'activité]
|
|
||||||
|
|
||||||
## Projets actifs
|
---
|
||||||
|
|
||||||
| Projet | Phase | Description courte | Hub |
|
## Bootstrap
|
||||||
|--------|-------|--------------------|-----|
|
|
||||||
| OpenClaw | building | Agent IA personnel cross-LLM | [[Hub - OpenClaw]] |
|
|
||||||
| Chaîne YouTube | planning | Contenu tech/IA | [[Hub - YouTube]] |
|
|
||||||
|
|
||||||
## Stack technique
|
Si `brain.md` n'existe PAS :
|
||||||
|
|
||||||
### Infra
|
1. Log "PREMIER RUN brain-updater — brain.md absent"
|
||||||
- VPS : [provider, config]
|
2. **Ne pas créer** brain.md automatiquement (c'est Tier 2)
|
||||||
- Secrets : Doppler
|
3. Créer `inbox/daemon-questions/YYYY-MM-DD-brain-init-required.md` avec :
|
||||||
- CI/CD : [outils]
|
- Explication de ce qu'est brain.md
|
||||||
|
- Template proposé (squelette depuis conventions)
|
||||||
|
- Demande à Jerem de lancer la création initiale
|
||||||
|
4. Slack notif urgente (brain.md est critique)
|
||||||
|
|
||||||
### Développement
|
Si `brain.md` existe mais n'a JAMAIS été mis à jour par cet agent (pas d'entrée brain-update-log) :
|
||||||
- Backend : [langages, frameworks]
|
1. Log "PREMIER RUN brain-updater"
|
||||||
- Frontend : [si applicable]
|
2. Exécuter Phase 1 (scan) uniquement
|
||||||
- LLM : Claude, ChatGPT, Gemini, modèles locaux
|
3. Produire rapport dans `inbox/daemon-questions/` avec changements proposés
|
||||||
- MCP : [servers configurés]
|
4. **Ne PAS modifier brain.md** cette première fois
|
||||||
|
5. Attendre validation humaine avant run normal
|
||||||
|
|
||||||
### Outils quotidiens
|
---
|
||||||
- Notes : Obsidian (ce vault)
|
|
||||||
- Base existante : Notion (sync en cours)
|
|
||||||
- [Autres outils]
|
|
||||||
|
|
||||||
## Objectifs actuels
|
## Procédure normale (4 phases)
|
||||||
|
|
||||||
1. [Objectif 1 — description + deadline si connue]
|
|
||||||
2. [Objectif 2]
|
|
||||||
3. [Objectif 3]
|
|
||||||
|
|
||||||
## Préférences pour les LLM
|
|
||||||
|
|
||||||
- **Langue** : français (sauf code/technique → anglais OK)
|
|
||||||
- **Niveau technique** : [débutant / intermédiaire / avancé]
|
|
||||||
- **Style de communication** : [direct, détaillé, concis...]
|
|
||||||
- **Priorité** : [sécurité/fiabilité/vitesse/coût...]
|
|
||||||
- **Ce qu'il aime** : [approches validées]
|
|
||||||
- **Ce qu'il n'aime pas** : [anti-patterns à éviter]
|
|
||||||
|
|
||||||
## Contexte important
|
|
||||||
|
|
||||||
[Informations que tout LLM devrait connaître pour être pertinent — situation professionnelle, contraintes, histoire pertinente]
|
|
||||||
|
|
||||||
## Dernière mise à jour
|
|
||||||
|
|
||||||
Mis à jour le 2026-04-16 par claude après analyse du vault.
|
|
||||||
Prochaine revue recommandée : 2026-04-23.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Procédure de mise à jour
|
|
||||||
|
|
||||||
### Phase 1 — Scan du vault
|
### Phase 1 — Scan du vault
|
||||||
|
|
||||||
Analyser le vault pour détecter les changements depuis la dernière mise à jour de BRAIN.md :
|
Détecter les changements depuis dernière mise à jour de brain.md (timestamp `updated` du frontmatter).
|
||||||
|
|
||||||
1. **Nouveaux projets** : tags `projet/...` qui n'existaient pas avant → nouveau projet à ajouter
|
**Filter** : notes avec `created >= brain.updated` OU `updated >= brain.updated`. Batch de 50.
|
||||||
2. **Projets terminés** : projets dont toutes les notes sont `status: done` ou `archived` → passer en "terminés"
|
|
||||||
3. **Nouveaux outils/technologies** : outils mentionnés dans les notes récentes qui ne sont pas dans la stack → proposer l'ajout
|
Analyser :
|
||||||
4. **Nouvelles compétences** : notes `type: resource` dans de nouveaux domaines → évolution des domaines d'activité
|
1. **Nouveaux projets** : tags `projet/*` jamais vus → nouveau projet à ajouter
|
||||||
5. **Changements de priorité** : projets qui prennent plus de place (plus de notes, plus de décisions) → ajuster l'ordre des objectifs
|
2. **Projets terminés** : projets dont 80%+ des notes sont `status: done` ou `archived` → proposer "terminé"
|
||||||
6. **Nouveaux LLM contributeurs** : un `source_llm` jamais vu avant → ajouter dans la stack
|
3. **Nouveaux outils/technos** : entités nommées récurrentes (3+ notes) pas dans la stack
|
||||||
|
4. **Nouvelles compétences** : notes `type: resource` dans nouveaux sous-domaines `domaine/*`
|
||||||
|
5. **Changements de priorité** : projets avec croissance notes importante vs stagnation d'autres
|
||||||
|
6. **Nouveaux LLM contributeurs** : `source_llm` jamais vu avant
|
||||||
|
|
||||||
### Phase 2 — Détection des évolutions
|
### Phase 2 — Détection des évolutions
|
||||||
|
|
||||||
Comparer l'état détecté avec le contenu actuel de BRAIN.md :
|
Comparer état détecté avec brain.md actuel :
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
## Changements détectés — 2026-04-16
|
## Changements détectés — 2026-04-19
|
||||||
|
|
||||||
### Ajouts proposés
|
### Ajouts proposés
|
||||||
- Nouveau projet : "MCP Gmail" (5 notes, tag projet/mcp-gmail, phase building)
|
- Nouveau projet : "MCP Gmail" (5 notes, tag projet/mcp-gmail, phase building)
|
||||||
@ -109,84 +87,155 @@ Comparer l'état détecté avec le contenu actuel de BRAIN.md :
|
|||||||
- Nouveau domaine : domaine/coaching (8 notes créées ce mois)
|
- Nouveau domaine : domaine/coaching (8 notes créées ce mois)
|
||||||
|
|
||||||
### Modifications proposées
|
### Modifications proposées
|
||||||
- Projet OpenClaw : phase planning → building (basé sur les notes récentes)
|
- Projet OpenClaw : planning → building
|
||||||
- Objectif prioritaire : "Mettre en place le MCP Obsidian" semble résolu (décision + notes de déploiement)
|
- Objectif "Mettre en place MCP Obsidian" semble résolu
|
||||||
|
|
||||||
### Suppressions proposées
|
|
||||||
- Projet "Test XYZ" : archivé depuis 3 semaines, aucune activité
|
|
||||||
|
|
||||||
### Inchangé
|
### Inchangé
|
||||||
- Stack technique principale (pas de changement détecté)
|
- Stack technique principale
|
||||||
- Préférences LLM (pas de nouveau feedback)
|
- Préférences LLM
|
||||||
```
|
```
|
||||||
|
|
||||||
### Phase 3 — Mise à jour
|
### Phase 3 — Mise à jour
|
||||||
|
|
||||||
Pour chaque changement proposé :
|
**Pattern "propose vs applique"** (remplace "demander confirmation qui marche pas en cron") :
|
||||||
|
|
||||||
1. **Demander confirmation** si le changement est ambigu ou important
|
**Application automatique SI** :
|
||||||
2. **Appliquer directement** si le changement est factuel et évident (nouveau projet avec 5+ notes = clairement un projet actif)
|
- Fait incontestable (nouveau projet avec 5+ notes = objectif)
|
||||||
3. **Mettre à jour `updated`** dans le frontmatter de BRAIN.md
|
- Correction factuelle évidente (faute de frappe, URL cassée, etc.)
|
||||||
4. **Mettre à jour la section "Dernière mise à jour"** en bas du fichier
|
- Phase projet mise à jour si projet a passé un jalon visible
|
||||||
|
|
||||||
### Phase 4 — Logging
|
**Question dans `inbox/daemon-questions/` SI** :
|
||||||
|
- Ajout d'un domaine d'activité (ex: "domaine/coaching" devient-il central ?)
|
||||||
|
- Retrait d'un projet (est-il vraiment terminé ou juste en pause ?)
|
||||||
|
- Réordonnancement d'objectifs
|
||||||
|
- Préférence LLM modifiée
|
||||||
|
|
||||||
Ajouter une entrée dans `_adn/brain-update-log.md` :
|
Structure du fichier question :
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
title: "Brain update propositions — 2026-04-19"
|
||||||
|
type: inbox
|
||||||
|
created: {now}
|
||||||
|
tags:
|
||||||
|
- daemon-question
|
||||||
|
- brain-update
|
||||||
|
source_agent: brain-updater
|
||||||
|
summary: "Brain-updater propose X modifications de brain.md, validation requise"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Propositions de mise à jour de brain.md
|
||||||
|
|
||||||
|
## Modifications auto-appliquées (pour info)
|
||||||
|
- ...
|
||||||
|
|
||||||
|
## Modifications en attente de validation
|
||||||
|
|
||||||
|
### Proposition 1 : Retrait projet "Test XYZ"
|
||||||
|
**Fait** : 0 activité depuis 6 semaines, toutes notes archivées
|
||||||
|
**Hypothèse** : projet abandonné
|
||||||
|
**Actions possibles** :
|
||||||
|
- (a) Retirer de brain.md
|
||||||
|
- (b) Marquer "en pause" dans brain.md
|
||||||
|
- (c) Ignorer, projet juste dormant
|
||||||
|
**Proposition** : (a)
|
||||||
|
|
||||||
|
Dis-moi (a/b/c) dans DAEMON chat ou modifie brain.md directement.
|
||||||
|
```
|
||||||
|
|
||||||
|
+ Slack notif : `🤖 brain-updater propose X modifs — inbox/daemon-questions/...md`
|
||||||
|
|
||||||
|
### Phase 4 — Application + Logging
|
||||||
|
|
||||||
|
Pour les modifications auto-appliquées :
|
||||||
|
1. Éditer brain.md (écriture atomique : lire → modifier → écrire)
|
||||||
|
2. Mettre à jour `updated` dans frontmatter
|
||||||
|
3. Mettre à jour section "Dernière mise à jour" en bas du fichier
|
||||||
|
|
||||||
|
Pour toutes les modifications (auto ou proposées) :
|
||||||
|
1. Append dans `_adn/memory/brain-update-log.md` :
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
## Update — 2026-04-16
|
## Update — 2026-04-19
|
||||||
|
|
||||||
**Déclencheur** : post-dream hebdomadaire
|
**Déclencheur** : post-dream hebdomadaire
|
||||||
**Changements appliqués** :
|
**Changements appliqués** :
|
||||||
- Ajouté projet "MCP Gmail" (phase building)
|
- Ajouté projet "MCP Gmail" (phase building)
|
||||||
- Mis à jour phase OpenClaw : planning → building
|
- Phase OpenClaw : planning → building
|
||||||
- Ajouté Cursor dans les outils de développement
|
- Ajouté Cursor dans outils
|
||||||
|
|
||||||
**Changements proposés (en attente de validation)** :
|
**Changements proposés (en attente)** :
|
||||||
- Ajouter domaine/coaching comme domaine d'activité ?
|
- inbox/daemon-questions/2026-04-19-brain-update.md (3 propositions)
|
||||||
- Retirer le projet "Test XYZ" des projets actifs ?
|
|
||||||
|
|
||||||
**Prochaine revue** : 2026-04-23
|
**Prochaine revue** : 2026-04-26
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Règles de séparation
|
||||||
|
|
||||||
|
### Distinction faits / inférences
|
||||||
|
|
||||||
|
- **Fait** : "5 notes avec tag `projet/mcp-gmail`, créées entre 2026-04-10 et 2026-04-18"
|
||||||
|
- **Inférence** : "Ce projet est prioritaire cette semaine"
|
||||||
|
|
||||||
|
Dans les propositions, toujours séparer :
|
||||||
|
```markdown
|
||||||
|
**Fait** : [donnée mesurable]
|
||||||
|
**Inférence** : [interprétation]
|
||||||
|
**Proposition** : [action suggérée]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Préférences LLM — zone intouchable
|
||||||
|
|
||||||
|
Les préférences de communication de Jerem (langue, style, priorités) ne se modifient **jamais par inférence**. Uniquement sur feedback explicite de Jerem.
|
||||||
|
|
||||||
|
Si tu détectes que Jerem semble préférer un style différent → créer question dans `inbox/daemon-questions/` avec observations factuelles, laisser Jerem décider.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Circuit-breakers
|
||||||
|
|
||||||
|
| Condition | Action |
|
||||||
|
|---|---|
|
||||||
|
| brain.md > 500 lignes | Refuser d'ajouter, signaler "brain trop gros, nettoyage requis" |
|
||||||
|
| Plus de 10 modifications proposées en un run | Appliquer les 3 plus évidentes, mettre reste en 1 seule question détaillée |
|
||||||
|
| Budget tokens atteint | Arrêt immédiat |
|
||||||
|
|
||||||
|
Budget max brain-updater : **10k tokens/semaine**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Sources d'information
|
## Sources d'information
|
||||||
|
|
||||||
Le brain-updater tire ses informations de plusieurs sources :
|
| Source | Exploit |
|
||||||
|
|---|---|
|
||||||
| Source | Ce qu'on en tire |
|
|
||||||
|--------|------------------|
|
|
||||||
| Notes récentes (`created` < 2 semaines) | Nouveaux projets, outils, domaines |
|
| Notes récentes (`created` < 2 semaines) | Nouveaux projets, outils, domaines |
|
||||||
| Décisions (`type: decision`) | Changements de stack, pivots |
|
| Décisions (`type: decision`) | Changements de stack, pivots |
|
||||||
| Hub projets (`tag: hub`) | État d'avancement des projets |
|
| Hubs projets (`type: hub`) | État d'avancement projets |
|
||||||
| Dream-log | Tendances détectées par le dream |
|
| `_adn/memory/dream-log.md` | Patterns détectés par dream |
|
||||||
| Tags du vault | Domaines d'activité, projets actifs |
|
| `_adn/memory/learnings.md` | Apprentissages explicites sur Jerem |
|
||||||
| Feedback utilisateur (si disponible) | Préférences, style de communication |
|
|
||||||
|
|
||||||
## Quand exécuter
|
---
|
||||||
|
|
||||||
| Déclencheur | Fréquence |
|
## Fréquence
|
||||||
|-------------|-----------|
|
|
||||||
| **Après un dream** | Hebdomadaire — le dream détecte les patterns, le brain-updater met à jour le profil |
|
|
||||||
| **Après un gros import Notion** | Ponctuel — beaucoup de nouveau contexte d'un coup |
|
|
||||||
| **À la demande** | Quand l'utilisateur dit "mets à jour mon profil" |
|
|
||||||
| **Détection automatique** | Si un LLM détecte que BRAIN.md ne reflète plus la réalité (projet mentionné partout mais absent du BRAIN) |
|
|
||||||
|
|
||||||
## Règles
|
| Mode | Trigger | Scope |
|
||||||
|
|---|---|---|
|
||||||
|
| **Nightly dimanche 23h** (après dream) | Cron | Phases 1-4 |
|
||||||
|
| **Post import Notion majeur** | Manuel | Scan + propositions |
|
||||||
|
| **À la demande** | "mets à jour brain" | Phases 1-4 |
|
||||||
|
| **Détection auto** | Si un agent détecte brain.md incohérent avec vault | Alerte + run automatique |
|
||||||
|
|
||||||
1. **BRAIN.md reste concis** — C'est un profil, pas une encyclopédie. Chaque section doit tenir en un écran. Si une section grossit trop, synthétiser et pointer vers une MOC.
|
---
|
||||||
2. **Ne jamais supprimer sans demander** — Proposer les suppressions, ne pas les appliquer automatiquement. Un projet qui semble terminé est peut-être juste en pause.
|
|
||||||
3. **Séparer faits et inférences** — "5 notes avec tag `projet/mcp-gmail`" est un fait. "Ce projet est prioritaire" est une inférence — la présenter comme telle.
|
|
||||||
4. **Le `source_llm` de BRAIN.md** = le dernier LLM qui l'a mis à jour
|
|
||||||
5. **Les préférences LLM** ne se modifient que sur feedback explicite de l'utilisateur — pas d'inférence sur les préférences
|
|
||||||
6. **Logger chaque modification** dans le brain-update-log
|
|
||||||
|
|
||||||
## Checklist
|
## Checklist
|
||||||
|
|
||||||
- [ ] BRAIN.md lu et comparé avec l'état actuel du vault
|
- [ ] brain.md lu et comparé avec état du vault
|
||||||
- [ ] Tous les projets actifs du vault sont représentés dans BRAIN.md
|
- [ ] Projets actifs du vault tous représentés
|
||||||
- [ ] Les projets terminés/archivés ne sont plus dans "Projets actifs"
|
- [ ] Projets terminés/archivés retirés de "Actifs"
|
||||||
- [ ] La stack technique reflète les outils réellement utilisés
|
- [ ] Stack technique reflète les outils réellement utilisés
|
||||||
- [ ] Les changements proposés sont classés (appliquer / demander validation)
|
- [ ] Changements classés (auto vs proposés)
|
||||||
- [ ] `updated` est à jour dans le frontmatter de BRAIN.md
|
- [ ] Modifications auto appliquées (`updated` à jour)
|
||||||
- [ ] Le brain-update-log est mis à jour
|
- [ ] Questions créées pour propositions ambiguës + Slack notif
|
||||||
- [ ] BRAIN.md reste lisible en moins de 2 minutes
|
- [ ] brain-update-log appendé
|
||||||
|
- [ ] brain.md reste < 500 lignes
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user