---
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/agents/_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)
│   ├── agents/            # Définitions des sub-agents DAEMON autonomes
│   │   └── obsidian/      # Agents obsidian-* (organizer, dream, brain-updater, etc.)
│   ├── skills/            # Bibliothèque Anthropic/community skills (lecture, non exécutée depuis DAEMON)
│   ├── 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
│   └── jerem-voice-profile.md  # Profil voice Jerem (chargé optionnellement par agents écrivant en son nom)
├── 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)
