Files
brain-template/profil/decisions/009-session-handoff-architecture-identitaire.md
Tetardtek 60d9cf7332 feat(kernel): sync CORTEX kernel — sessions, modes, ADRs, clean personal files
Ajout : 11 session-*.yml, modes soft locks, coach-boot + time-anchor, ADR-008→024.
Retrait : focus.md, BRAIN-INDEX.md, SUPERVISOR-STATE.md, claims/, todo/.
brain-template = kernel distribuable propre.
2026-03-17 23:14:04 +01:00

140 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: adr-009-session-handoff-architecture-identitaire
type: decision
context_tier: cold
status: brainstorm — à formaliser en ADR
date: 2026-03-15
session: sess-20260315-0851-bhp-phase2
---
# ADR-009 — Architecture identitaire : Session × Scope → Handoff Chain
> Statut : **brainstorm validé** — vision cohérente, architecture à spécifier
> Émergé : session BHP Phase 2 — coach brainstorm étendu
> Prérequis à : BHP Phase 2, brain-constitution.md, handoff-matrix.md
---
## Insight central
> *La todo ne liste pas des tâches — elle orchestre le niveau de continuité.*
> *Le brain fort ne dépend pas du FULL — il cold-start bien.*
> *L'identité = ce qui reste quand on enlève tout.*
---
## Le problème
Le brain charge du contexte sans modèle formel de continuité entre sessions.
Résultat : trop de contexte (bruit), pas assez (cold start subi), aucune prédictibilité.
Le brain n'a pas d'identité stable parce qu'il n't a pas de chaîne de continuité formalisée.
---
## L'architecture — 3 couches + 4 niveaux de handoff
### Les 3 couches
```
Layer 0 → Identité → FIGÉ → qui le brain est — toujours vrai
Layer 1 → État → dynamique → où on en est — sprint, projet, position
Layer 2 → Mémoire → éphémère → ce qui vient de se passer — handoffs, RAM
```
### Les 4 niveaux de handoff
```
NO → Layer 0 uniquement cold start — identité pure
SEMI → Layer 0 + Layer 1 partiel position chargée
SEMI+ → Layer 0 + Layer 1 complet état projet chargé
FULL → Layer 0 + Layer 1 + Layer 2 continuité chirurgicale
```
### Le routeur : session_type × scope → handoff_level
```
brainstorm × architecture → NO (pensée claire, pas de bruit sprint)
debug × SuperOAuth → SEMI (position + domaine, pas de RAM)
work × sprint → SEMI+ (état du sprint suffit, lundi matin)
work × continuation → FULL (coupure mid-task, reprise chirurgicale)
deploy × infra → SEMI+ (état infra nécessaire)
coach × progression → SEMI (position + dernière session)
```
---
## L'inversion
On supposait : FULL HANDOFF = session optimale.
```
FULL → continuité maximale, clarté minimale (bruit)
NO → continuité minimale, clarté maximale (signal)
```
Le cold start n'est pas le mode le plus faible.
C'est l'expression la plus pure de l'identité du brain.
**Le KPI mesurable :** si NO HANDOFF est productif en < 2 minutes → Layer 0 est bon.
---
## Cas d'usage réels
### NO HANDOFF — le brain qui sait qui il est
Brainstorm architecture 7h du matin. Layer 0 seul.
Pas de bruit du sprint précédent. Pensée architecturale nette.
### SEMI — le chirurgien
Bug critique 22h. SuperOAuth. Layer 0 + position debug.
Contexte juste, sans friction. Fix en 30 secondes de boot.
### SEMI+ — lundi matin
TetaRdPG Sprint 4. 3 jours d'absence. Layer 0 + état sprint.
Pas besoin de handoff — l'état du projet suffit. Reprise en 2 minutes.
### FULL — continuation chirurgicale
Refacto coupée à 23h. Layer 0 + Layer 1 + workspace RAM.
Exactement là où on s'est arrêté. Pas de reconstruction.
### Gradient intelligent dans un sprint
```
Lundi matin → SEMI+ reprendre l'état
Lundi soir → FULL continuation directe
Mardi matin → SEMI+ nouveau jour
Mercredi bug → SEMI position debug uniquement
Vendredi close → FULL wrap complet
```
### Multi-agent
Layer 0 : identique pour tous (identité commune)
Layer 1 : partagé (état de sprint, API contracts)
Layer 2 : isolé par agent (workspace RAM propre)
→ Agents qui partagent l'identité et l'état, pas la mémoire de travail.
### Brain-as-a-Service
`brain new` installe Layer 0. Première session = NO HANDOFF.
Productif immédiatement parce que Layer 0 est solide.
**Layer 0 est le produit.**
---
## Ce qui manque (livrables)
- `profil/brain-constitution.md` — frozen layer formalisée (Layer 0 complet)
- `profil/handoff-matrix.md` — matrice session_type × scope → handoff_level
- `profil/session-continuity-spec.md` — spec complète de la chaîne
- Convention todo → encoder le handoff_level sur chaque entrée
- KPI validation : NO HANDOFF < 2 min → Layer 0 OK
---
## Relation aux ADRs existants
| ADR | Relation |
|-----|----------|
| 002-session-as-identity | Layer 0 = identité de session — ce ADR l'étend |
| 004-trois-couches | Layer 0/1/2 raffine les 3 couches kernel/instance/personnel |
| 005-zones-typees | Frozen layer = zone kernel protégée |