Files
brain-template/profil/decisions/001-bsi-locking-optimiste.md

34 lines
1.3 KiB
Markdown

# ADR-001 — Locking optimiste BSI — claims + TTL vs mutex strict
> Date : 2026-03-14
> Statut : actif
> Décidé par : session brain sess-20260314-1810-brain
## Contexte
Plusieurs sessions Claude en parallèle peuvent modifier les mêmes fichiers brain sans se voir. Un mutex strict (une seule session à la fois) bloque le workflow multi-agent.
## Décision
Locking optimiste via `BRAIN-INDEX.md` — chaque session déclare un claim avec TTL. On ne bloque pas, on déclare. Le watchdog détecte les conflits et alerte. L'humain décide.
## Alternatives considérées
| Option | Raison du rejet |
|--------|----------------|
| Mutex strict (une session) | Bloque le dual-agent et le pattern supervisor |
| Pas de locking | Collisions silencieuses sur focus.md, projets/ |
| Branches git par session | Overhead de merge, perd le temps réel |
## Conséquences
**Positives :** multi-sessions en parallèle, pattern supervisor possible, brain-watch détecte les stales automatiquement.
**Négatives / trade-offs :** un conflit rare peut passer si les deux sessions commitent avant que le watchdog notifie. Accepté — le brain est un système coopératif, pas adversarial.
## Références
- `profil/bsi-spec.md`
- `BRAIN-INDEX.md`
- `agents/orchestrator-scribe.md`