3.6 KiB
ADR-007 — Kernel package distribution — brain install
Date : 2026-03-15 Statut : vision — prérequis v1.0.0 Décidé par : session brainstorm coach sess-20260315-0100-vision-kernel
Contexte
Le brain est distribué aujourd'hui via 6 git clones manuels. Friction trop élevée pour une adoption large. La question : peut-on hardcoder le kernel pour simplifier l'installation sans perdre la valeur de la matrice fichiers ?
Tension identifiée : le brain est entièrement éditable aujourd'hui (force pour le dev, faiblesse pour la distribution et le modèle de licence).
Décision
Architecture hybrid kernel/instance :
~/.brain/kernel/ ← installé par package (brew/npm/curl), read-only, mis à jour via brain update
~/Dev/Docs/ ← instance personnelle (focus.md, todo/, progression/, projets/)
CLAUDE.md ← pointe vers kernel + instance (brain_root: ~/.brain/kernel/)
Le kernel devient physiquement read-only par installation — ce qui enforce KERNEL.md zones au niveau filesystem, pas seulement par convention.
Modèle d'installation cible
# Installation
brew install brain # ou npm install -g brain / curl brain.tetardtek.com/install | sh
# Premier setup
brain init ~/Dev/Docs # crée l'instance locale + CLAUDE.md configuré
# Mise à jour kernel
brain update # git pull kernel → nouvelle version
# Par tier
brain install --tier=pro # débloque zones profil/ + progression/
brain install react node # ajoute agents stack React + Node
Pourquoi hybrid et pas fat CLAUDE.md
| Option | Raison du rejet |
|---|---|
| CLAUDE.md fat (tout embarqué) | Perd granularité zones, versioning fin, mise à jour partielle |
| Monorepo unique | Friction 6 clones = barrière adoption |
| Hybrid kernel/instance | ✅ Read-only kernel enforced, instance libre, brain update propre |
Conséquences sur le modèle de licence
Licence = version du kernel distribué
brain install --tier=free → kernel zones free (agent base + tricks)
brain install --tier=pro → + profil/ + progression/ + coach
brain install --tier=stack=react → + agents React + toolkit React
brain install --tier=protocol → + contexts/protocol.md (RFC)
La licence contrôle quelle version du package s'installe. Pas un token à dropper — le package manager enforce.
Conséquences sur KERNEL.md zones
Le kernel read-only filesystem = KERNEL.md zone KERNEL protection maximale enforced par design, pas par convention. Un utilisateur ne peut pas modifier un agent kernel sans sudo — signal fort que c'est hors périmètre.
Les zones SATELLITES et INSTANCE restent dans ~/Dev/Docs/ — entièrement libres.
Distribution v1 → v2
v1 : git clone (aujourd'hui — devs Claude Code, early adopters)
"clone ce repo, configure ton CLAUDE.md"
→ Marché : devs qui comprennent immédiatement
v2 : brain install (post v1.0.0)
→ Marché : tous les devs + brain.tetardtek.com pour non-devs
Prérequis techniques
| Composant | Priorité |
|---|---|
| brain-template v1.0.0 (interface contractuelle stable) | Gate #1 |
brain CLI (init, install, update, sync) |
Prérequis #2 |
| Package registry (Homebrew formula / npm) | Prérequis #3 |
| Tier system dans brain-compose.yml | Existe déjà (feature_set) — à étendre |
Références
KERNEL.md— zones et protection = contrat du packageADR-006— vision produit brain-as-a-service (web + BYOK)brain-compose.yml ## feature_set— mécanisme tier existant- Todo
brain new / brain sync— CLI en cours de vision