338 lines
12 KiB
Markdown
338 lines
12 KiB
Markdown
---
|
|
title: Conventions du vault DAEMON
|
|
type: config
|
|
created: 2026-04-19
|
|
updated: 2026-04-19
|
|
owner: jerem
|
|
status: active
|
|
description: Source unique de vérité pour les conventions du vault. Toute skill / script / agent DOIT s'y conformer. En cas de conflit avec une autre note, ce fichier gagne.
|
|
tags:
|
|
- config
|
|
- conventions
|
|
- brain
|
|
related:
|
|
- "[[_index]]"
|
|
- "[[_adn/soul]]"
|
|
- "[[_adn/skills/_index]]"
|
|
---
|
|
|
|
# Conventions du vault DAEMON
|
|
|
|
> **Règle absolue** : ce fichier est la source unique de vérité. Toutes les skills, agents, scripts, et notes doivent s'y conformer. Si un autre fichier du vault contredit celui-ci, il doit être corrigé (pas l'inverse).
|
|
|
|
---
|
|
|
|
## 1. Structure des dossiers
|
|
|
|
```
|
|
vault/
|
|
├── _adn/ # Identité DAEMON, config, règles (Tier 2 — validation requise)
|
|
│ ├── infra/ # Configs infra (VPS, backup, MCP servers)
|
|
│ ├── skills/ # Définitions des skills / sub-agents
|
|
│ ├── orchestration/ # Multi-agents, routing LLM, budget tokens
|
|
│ ├── routines/ # Daily, hebdo, mensuelles, trimestrielles
|
|
│ ├── memory/ # Logs append-only (learnings, dream, cron, etc.)
|
|
│ ├── identite/ # Écosystème, inspirations, rituels, perceptions
|
|
│ ├── hooks/ # Audit-logger, safety-guard
|
|
│ └── mcp-servers/ # Config MCP
|
|
├── inbox/ # Tout ce qui est créé dans la journée atterrit ici
|
|
│ ├── notion-imports/ # Notes importées depuis Notion (par date)
|
|
│ └── daemon-questions/ # Questions soulevées par les agents pendant les runs automatiques
|
|
├── projects/ # Notes liées à des projets actifs
|
|
├── knowledge/ # Veille, fiches de compétences, références, apprentissages
|
|
├── content/ # Idées et briefs de contenu (YouTube, Instagram, blog)
|
|
├── journal/ # Journal personnel
|
|
│ ├── daily/ # Daily notes (YYYY-MM-DD)
|
|
│ ├── introspection/ # Réflexions profondes
|
|
│ └── review/ # Reviews (hebdo, mensuelles, trimestrielles)
|
|
├── decisions/ # Historique des décisions
|
|
└── moc/ # Maps of Content (index thématiques)
|
|
```
|
|
|
|
### Règle de placement
|
|
|
|
- **Pendant la journée** : tout ce que DAEMON (ou toi) écrit va dans `inbox/`. Point. Zéro exception.
|
|
- **Le soir** : la skill `obsidian-organizer` trie `inbox/` vers les bons dossiers.
|
|
- Si tu crées une note manuellement et que tu sais OÙ elle va (ex: un hub projet), tu peux la mettre directement dans le bon dossier. L'organizer ne touchera pas ce qui est déjà bien placé.
|
|
|
|
---
|
|
|
|
## 2. Types de notes (`type` dans frontmatter)
|
|
|
|
Valeurs autorisées uniquement :
|
|
|
|
| Type | Description | Dossier cible par défaut |
|
|
|---|---|---|
|
|
| `project` | Note liée à un projet actif | `projects/` |
|
|
| `resource` | Fiche connaissance, veille, référence | `knowledge/` |
|
|
| `idea` | Idée, concept, brainstorm | `knowledge/` (ou `content/` si tag `contenu/*`) |
|
|
| `decision` | Décision avec contexte et raisonnement | `decisions/` |
|
|
| `daily` | Entrée de journal quotidien | `journal/daily/` |
|
|
| `introspection` | Réflexion profonde personnelle | `journal/introspection/` |
|
|
| `review` | Review (hebdo, mensuelle, trimestrielle) | `journal/review/` |
|
|
| `meeting` | Notes de réunion ou échange | `projects/` (dossier du projet concerné) |
|
|
| `hub` | Hub de suivi projet | `projects/` |
|
|
| `moc` | Map of Content | `moc/` |
|
|
| `config` | Config technique / vault | `_adn/` |
|
|
| `audit` | Audit skills, système, vault | `_adn/` |
|
|
| `infra` | Documentation infrastructure | `_adn/infra/` |
|
|
| `orchestration` | Principes multi-agents | `_adn/orchestration/` |
|
|
| `routine` | Routine quotidienne/hebdo | `_adn/routines/` |
|
|
| `memory` | Log append-only | `_adn/memory/` |
|
|
| `agent-soul` | Identité DAEMON | `_adn/` (soul.md) |
|
|
| `index` | Index / table d'entrée (_index.md, MOCs) | racine ou `moc/` |
|
|
| `inbox` | Note brute non catégorisée | `inbox/` (reste ici) |
|
|
|
|
---
|
|
|
|
## 3. Tags — convention stricte
|
|
|
|
### Règles générales
|
|
|
|
- **Toujours en minuscules**, sans accents, tirets pour les espaces
|
|
- **Hiérarchiques** avec `/` comme séparateur
|
|
- **2 à 5 tags par note**, dont au moins un tag de domaine
|
|
|
|
### Taxonomie officielle
|
|
|
|
#### Domaines (`domaine/...`)
|
|
```
|
|
domaine/tech # tout ce qui est technique
|
|
domaine/tech/ia # intelligence artificielle, LLM, MCP
|
|
domaine/tech/devops # infra, CI/CD, servers
|
|
domaine/tech/dev # développement applicatif
|
|
domaine/tech/3d-printing # impression 3D
|
|
|
|
domaine/business # business en général
|
|
domaine/coaching # coaching sportif / mental
|
|
domaine/content # création de contenu
|
|
|
|
domaine/perso # vie personnelle
|
|
domaine/perso/habitudes # rituels, habitudes
|
|
domaine/perso/journal # journaling
|
|
domaine/perso/sport # enduroman, training
|
|
domaine/perso/sante # santé physique
|
|
```
|
|
|
|
#### Statut (`statut/...`) — cycle de vie
|
|
|
|
| Tag | `status` frontmatter | Sens |
|
|
|---|---|---|
|
|
| `statut/draft` | `draft` | Ébauche, work in progress |
|
|
| `statut/active` | `active` | Active, en cours d'utilisation |
|
|
| `statut/review` | `review` | À relire/mettre à jour |
|
|
| `statut/done` | `done` | Terminée, plus besoin de modifs |
|
|
| `statut/archived` | `archived` | Archivée (doublons fusionnés, obsolète) |
|
|
| `statut/parked` | `parked` | Mise en pause, à reprendre plus tard |
|
|
|
|
> **Important** : le tag `statut/...` et le champ `status` du frontmatter doivent toujours être cohérents. L'organizer corrige automatiquement en cas d'incohérence.
|
|
|
|
#### Priorité (`priorite/...`) — système numérique
|
|
|
|
| Tag | Sens |
|
|
|---|---|
|
|
| `priorite/p0` | Critique, action immédiate |
|
|
| `priorite/p1` | Haute, cette semaine |
|
|
| `priorite/p2` | Moyenne, ce mois |
|
|
| `priorite/p3` | Basse, quand temps disponible |
|
|
|
|
#### Contenu (`contenu/...`)
|
|
```
|
|
contenu/youtube
|
|
contenu/instagram
|
|
contenu/blog
|
|
contenu/newsletter
|
|
contenu/podcast
|
|
```
|
|
|
|
#### Projets (`projet/...`)
|
|
|
|
Un tag par projet actif. Doit correspondre à un projet qui existe dans `projects/`. Exemples :
|
|
```
|
|
projet/openclaw
|
|
projet/chaine-youtube
|
|
projet/enduroman
|
|
projet/aura-app
|
|
projet/diet-engine
|
|
projet/coaching-pipeline
|
|
```
|
|
|
|
#### Source d'import (`import/...`)
|
|
```
|
|
import/notion
|
|
import/web
|
|
import/manual
|
|
```
|
|
|
|
#### Meta (`meta/...`)
|
|
```
|
|
meta/hub # note hub de projet
|
|
meta/moc # map of content
|
|
meta/synthese # note de synthèse auto-générée (dream)
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Frontmatter YAML obligatoire
|
|
|
|
Chaque note commence par :
|
|
|
|
```yaml
|
|
---
|
|
title: "Titre clair et descriptif"
|
|
type: <un des types de la section 2>
|
|
created: 2026-04-19T14:30:00
|
|
updated: 2026-04-19T14:30:00
|
|
tags:
|
|
- domaine/xxx
|
|
- statut/xxx
|
|
status: draft | active | review | done | archived | parked
|
|
summary: "Une phrase de 20-50 mots — un LLM doit pouvoir décider si cette note est pertinente en lisant uniquement ce champ"
|
|
source_agent: <qui a créé/touché cette note>
|
|
source_llm: <moteur LLM sous-jacent, optionnel>
|
|
related:
|
|
- "[[Nom de note liée]]"
|
|
---
|
|
```
|
|
|
|
### Champs critiques expliqués
|
|
|
|
**`source_agent`** — **Qui a créé ou modifié la note.** Remplace l'ancien `source_llm` comme champ primary. Valeurs autorisées :
|
|
|
|
| Valeur | Sens |
|
|
|---|---|
|
|
| `human` | Jerem a créé la note directement |
|
|
| `daemon-chat` | Créée pendant une session conversationnelle avec DAEMON |
|
|
| `organizer` | Triée/enrichie par la skill organizer |
|
|
| `dream` | Consolidée par la skill dream |
|
|
| `brain-updater` | Modifiée par brain-updater |
|
|
| `notion-sync` | Importée depuis Notion par notion-sync |
|
|
| `note-creator` | Créée par la skill note-creator |
|
|
| `project-hub` | Maintenue par project-hub |
|
|
| `claude-code` | Créée pendant une session Claude Code |
|
|
|
|
**`source_llm`** (optionnel) — Le moteur LLM sous-jacent. Utile pour traçabilité cross-LLM. Valeurs : `claude`, `grok`, `gemini`, `local`, `none` (si c'est un humain).
|
|
|
|
**`summary`** — 20-50 mots, phrase complète qui permet à un LLM de décider "cette note est-elle pertinente pour ma requête ?" sans l'ouvrir.
|
|
|
|
**`related`** — Au moins 1 lien `[[...]]` interne. Zéro lien = note orpheline = mauvaise découvrabilité.
|
|
|
|
### Champs additionnels selon le type
|
|
|
|
Pour `type: project` :
|
|
```yaml
|
|
project_name: "openclaw"
|
|
project_phase: planning | building | testing | deployed | paused | done
|
|
deadline: 2026-06-01
|
|
```
|
|
|
|
Pour `type: decision` :
|
|
```yaml
|
|
decision: "La décision en une phrase"
|
|
alternatives_considered: ["Option A", "Option B"]
|
|
confidence: high | medium | low
|
|
reversible: true | false
|
|
```
|
|
|
|
Pour `type: daily` :
|
|
```yaml
|
|
mood: 😊 | 😐 | 😔
|
|
energy: high | medium | low
|
|
wins: ["Action 1", "Action 2"]
|
|
```
|
|
|
|
Pour `type: resource` (veille) :
|
|
```yaml
|
|
source_url: "https://..."
|
|
source_type: article | video | paper | doc | tweet | podcast
|
|
relevance: high | medium | low
|
|
```
|
|
|
|
Pour notes importées Notion :
|
|
```yaml
|
|
source_notion: "URL ou page ID Notion"
|
|
imported_at: 2026-04-19T14:30:00
|
|
notion_properties: {}
|
|
```
|
|
|
|
---
|
|
|
|
## 5. Nommage des fichiers
|
|
|
|
- **Tout en minuscules**, tirets pour espaces, pas d'accents, pas de caractères spéciaux
|
|
- **Daily notes** : `YYYY-MM-DD.md` (dans `journal/daily/`)
|
|
- **Reviews** : `YYYY-MM-DD-{hebdo|mensuelle|trimestrielle}.md` (dans `journal/review/`)
|
|
- **Décisions** : `decision-{sujet-court}.md`
|
|
- **Veille** : `veille-{sujet}-{source-courte}.md`
|
|
- **Projets** : `{projet}-{aspect}.md`
|
|
- **Hubs** : `hub-{nom-projet}.md`
|
|
- **MOC** : `moc-{domaine}.md`
|
|
- **Notes importées Notion** : conservent leur titre original mais slugifié
|
|
|
|
---
|
|
|
|
## 6. Identifiants canoniques (références croisées)
|
|
|
|
Ces fichiers/chemins sont **la référence** — toute autre mention doit utiliser exactement ces noms :
|
|
|
|
| Ce qu'on référence | Nom exact (case-sensitive !) |
|
|
|---|---|
|
|
| Fichier profil utilisateur | `_adn/brain.md` (minuscules, PAS `BRAIN.md`) |
|
|
| Index du vault | `_index.md` à la racine (PAS `VAULT-INDEX.md`, ni `INDEX.md`) |
|
|
| Soul DAEMON | `_adn/soul.md` |
|
|
| Ce fichier | `_adn/conventions.md` |
|
|
| Learnings append-only | `_adn/memory/learnings.md` |
|
|
| Dream log append-only | `_adn/memory/dream-log.md` |
|
|
| Brain update log | `_adn/memory/brain-update-log.md` |
|
|
| Notion sync state | `_adn/memory/notion-sync-state.json` |
|
|
| Cron logs | `_adn/memory/cron-logs.md` |
|
|
|
|
---
|
|
|
|
## 7. Règles de modification
|
|
|
|
### Tier 1 — DAEMON écrit librement
|
|
- `inbox/` (toutes sous-arbos)
|
|
- `projects/` (notes, pas les hubs sans validation)
|
|
- `knowledge/`
|
|
- `content/`
|
|
- `journal/` (sauf introspections manuelles)
|
|
- `decisions/` (en append)
|
|
- `moc/` (auto-maintenues par organizer)
|
|
|
|
### Tier 2 — Validation requise
|
|
- `_adn/*` sauf `_adn/memory/` et `_adn/skills/` update mineure
|
|
- Hubs de projet (skill `project-hub` proposera, humain valide)
|
|
- Suppression définitive de notes (archivage OK en Tier 1, suppression jamais auto)
|
|
|
|
### Tier 3 — Jamais
|
|
- Modification rétroactive de `_adn/memory/*.md` (append-only)
|
|
- Suppression de notes avec `status: done` ou `archived`
|
|
- Modification du soul.md sans review humaine
|
|
|
|
---
|
|
|
|
## 8. Contrat de chaque agent / skill
|
|
|
|
Toute skill / agent / script qui touche au vault doit :
|
|
|
|
1. **Respecter cette convention** — tags, types, dossiers, nommage
|
|
2. **Remplir `source_agent`** avec son nom exact
|
|
3. **Mettre à jour `updated`** (ISO 8601) à chaque touche
|
|
4. **Ne jamais supprimer** — archiver uniquement
|
|
5. **Logger ses actions** dans `_adn/memory/cron-logs.md` (append)
|
|
6. **Créer une note `inbox/daemon-questions/YYYY-MM-DD-{topic}.md`** + notif Slack si question ambiguë (remplace le "demander confirmation" qui marche pas en cron)
|
|
7. **Respecter les circuit-breakers tokens** (voir `_adn/orchestration/budget-tokens.md`)
|
|
|
|
---
|
|
|
|
## 9. Évolution de ce fichier
|
|
|
|
Modifications via le même process que les autres fichiers `_adn/` :
|
|
1. Proposition humaine ou agent
|
|
2. Review par Jerem
|
|
3. Application
|
|
4. Entrée dans `_adn/memory/learnings.md` si c'est un changement structurant
|
|
|
|
**Version** : 1.0 — 2026-04-19 (initial)
|