feat(template): ADRs 018-035 — 14 décisions architecturales manquantes

Synchronise le template avec les décisions fondatrices 2025-2026 :
- 018 : migration Rust strangler fig toolkit
- 023 : Cortex/Cosmos product vision
- 025 : cortex composition operator
- 026 : IPC context packet access matrix
- 027 : ambient autonomy engine
- 028 : learning loop detect-iterate
- 029 : Cosmos frontend brain
- 030 : boot mode empirical validation
- 031 : distribution model
- 032 : execution mode vs workflow
- 033/033a : embedding language strategy + zone filter
- 034 : infra separation local/VPS/template
- 035 : session pilote mode (ADR-035)

Dépersonnalisation : keys/brain.<OWNER_DOMAIN>, deciders: [<owner>]
This commit is contained in:
2026-03-18 22:38:36 +01:00
parent 519b22809b
commit 8c95b70314
14 changed files with 1762 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
---
scope: kernel
id: ADR-033
title: Stratégie embedding — multilinguisme et distribution brain-template
status: accepted
date: 2026-03-18
deciders: [human, coach]
tags: [embedding, distribution, multilingual, brain-template]
---
# ADR-033 — Stratégie embedding : multilinguisme et distribution brain-template
## Contexte
Le brain-engine embarque un pipeline d'embedding (chunks → vecteurs → UMAP → Cosmos).
Tout le contenu actuel est en FR. Brain-template (ADR-031) sera distribué à des utilisateurs
potentiellement non-FR.
Deux problèmes distincts ont émergé lors du brainstorm 2026-03-18 :
1. **Problème de distribution** : un utilisateur EN installe brain-template → peut-il avoir
un brain opérationnel dans sa langue ?
2. **Problème de collaboration** : deux instances brain (FR + EN) veulent co-travailler
sémantiquement → leurs espaces embedding sont-ils commensurables ?
---
## Options explorées
| Option | Description | Verdict |
|--------|-------------|---------|
| A — Modèle multilingue (multilingual-e5) | Un espace commun FR+EN+… | Upgrade path v2 |
| B — Modèles séparés par langue | Silos, pas de cross-lingual | ❌ Éliminé |
| C — Kernel traduit EN+FR en parallèle | Double maintenance garantie | ❌ Éliminé |
| D — Template structurel, contenu souverain | Chaque instance dans sa langue | ✅ Retenu v1 |
---
## Décision
### V1 — Option D : template structurel, instances souveraines
**brain-template distribue :**
- Schéma frontmatter (language-agnostic)
- Scripts bash/Python (language-agnostic)
- Workflow templates (structure)
- Agents `.md` en FR (langue du kernel owner)
**Chaque instance :**
- Forge ses agents dans sa langue dès le premier sprint
- Embarque son propre pipeline embedding avec le modèle de son choix
- Est sémantiquement souveraine — aucune dépendance au brain FR d'origine
**Un utilisateur EN installe brain-template :**
```
1. Clone le template (agents FR comme référence de structure)
2. Forge ses agents EN via recruiter (le FR est un exemple, pas une contrainte)
3. Son brain est 100% EN, embedding 100% EN, Cosmos 100% EN
4. Opérationnel — aucune rupture sémantique
```
**Ce qui ne change pas pour le brain FR owner :**
- Le brain existant n'est pas re-embeddé
- Le modèle embedding actuel reste en place
- Aucune action requise à la distribution du template
---
### V2 — Option A : upgrade multilingual (condition d'activation)
**Condition de déclenchement :**
> Première instance non-FR qui veut co-travailler sémantiquement avec le brain FR.
> Pas avant.
**Quand ce moment arrive :**
```
1. Migrer brain-engine vers multilingual-e5-large (ou équivalent)
2. Re-embedder tous les chunks existants (~30 min, opération batch)
3. Les deux instances partagent désormais un espace embedding commun
4. Cross-lingual search actif : query EN trouve contenu FR et vice-versa
```
**Ce que ça débloque :**
- Brain A (FR) et Brain B (EN) cherchent dans un espace commun
- Cosmos multi-instance : deux nébuleuses dans le même espace UMAP
- Collaboration sémantique sans perdre la souveraineté de chaque instance
---
## Zone filter — découplé (ADR-033a, sujet séparé)
La question du **zone filter** (quels contenus sont indexés selon leur zone) est indépendante
du choix de modèle. Elle sera traitée dans un brainstorm dédié.
Hypothèse de départ pour ADR-033a :
```
kernel → toujours indexé (open-core, vocabulaire partagé)
project → TTL basé sur l'activité du sprint
personal → jamais indexé (bact, collaboration, progression)
session → sélectif (checkpoint utile, contenu brut non)
```
---
## Conséquences
**Immédiat (V1) :**
- Brain-template peut être distribué sans changer l'infrastructure embedding actuelle
- Aucun re-embedding du brain FR owner requis
- Les utilisateurs non-FR sont pleinement autonomes dans leur langue
**Futur (V2) :**
- Migration multilingual-e5 planifiée — opération batch de ~30 min
- Déclenchée sur signal concret (premier besoin de collaboration cross-lingual)
- Pas d'over-engineering préventif
**Philosophie retenue :**
> Chaque brain est souverain dans sa langue. La collaboration sémantique est une
> option d'upgrade, pas un prérequis à la distribution.
---
## Références
- ADR-031 — Distribution model (brain-template)
- ADR-029 — Cosmos frontend brain
- `wiki/brain-engine.md` — pipeline embedding actuel
- `wiki/cosmos.md` — visualisation UMAP