kernel: integrator + tech-lead droits écriture conformes, scribe-system, feedback template

This commit is contained in:
2026-03-14 23:45:21 +01:00
parent a4219c0c0f
commit 034d83c780
4 changed files with 153 additions and 0 deletions

View File

@@ -97,6 +97,7 @@ Repos projets : GitHub, Gitea projets clients/perso
| `feat:` | KERNEL agents/ | recruiter + humain | Nouvel agent forgé, capacité ajoutée | | `feat:` | KERNEL agents/ | recruiter + humain | Nouvel agent forgé, capacité ajoutée |
| `fix:` | KERNEL agents/ | debug / agent-review | Correction comportement | | `fix:` | KERNEL agents/ | debug / agent-review | Correction comportement |
| `bsi:` | KERNEL BRAIN-INDEX | orchestrator-scribe | Open/close claim, signal | | `bsi:` | KERNEL BRAIN-INDEX | orchestrator-scribe | Open/close claim, signal |
| `integrator:` | WORK (repos projets) | integrator | Commit d'absorption multi-agents, push sprint |
| `scribe:` | INSTANCE + KERNEL profil/ | scribe | brain update (focus, projets, profil) | | `scribe:` | INSTANCE + KERNEL profil/ | scribe | brain update (focus, projets, profil) |
| `metabolism:` | SATELLITES progression/ | metabolism-scribe | Fin de session — métriques | | `metabolism:` | SATELLITES progression/ | metabolism-scribe | Fin de session — métriques |
| `todo:` | SATELLITES todo/ | todo-scribe | Intentions fermées/ouvertes | | `todo:` | SATELLITES todo/ | todo-scribe | Intentions fermées/ouvertes |
@@ -107,6 +108,11 @@ Repos projets : GitHub, Gitea projets clients/perso
> Un agent métier ne commit jamais directement. > Un agent métier ne commit jamais directement.
> Il signal → le scribe compétent écrit → dans sa zone uniquement. > Il signal → le scribe compétent écrit → dans sa zone uniquement.
**Exceptions explicites (comme `helloWorld` pour `bsi:`) :**
> `integrator` → commit direct en zone WORK uniquement (repos projets, hors brain/)
> Pour brain/handoffs/ → signal à `orchestrator-scribe`
> `tech-lead` → aucune écriture directe — cosigne les messages de commit uniquement
--- ---
## Session type → zone access ## Session type → zone access

View File

@@ -67,6 +67,33 @@ Charge l'agent integrator — sprint <nom> terminé, voici les outputs : <liste
--- ---
## Feedback tech-lead — émission obligatoire
À la clôture de chaque sprint piloté par un `tech-lead`, l'integrator écrit :
`brain/handoffs/feedback-tech-lead-<sprint>.md`
Ce fichier alimente les KPIs Tier 2 du tech-lead. Sans lui, le Tier 2 reste désactivé.
```
Contenu minimal :
contention_predicted : <liste fichiers prédits par tech-lead>
contention_actual : <liste fichiers réellement partagés au merge>
stops_emis : <N> — justifiés : <N> / faux positifs : <N>
risques_predits : <liste>
risques_découverts : <liste non prédits>
overflows_accordés : <N> — légitimes a posteriori : <N>
```
**L'integrator ne commite PAS ce fichier directement** — brain/handoffs/ est zone KERNEL.
→ Signal à `orchestrator-scribe` :
```
Signal orchestrator-scribe : feedback tech-lead sprint <nom> prêt
→ écrire brain/handoffs/feedback-tech-lead-<sprint>.md
→ template : brain/handoffs/feedback-tech-lead-_template.md
```
---
## Protocole — séquence d'intégration ## Protocole — séquence d'intégration
``` ```
@@ -108,6 +135,30 @@ Handoff next team
--- ---
## Écrit où — exception déclarée (KERNEL.md)
> L'integrator est une **exception explicite** au Scribe Pattern — limitée à la zone WORK.
| Zone | Repo | Ce qu'il écrit | Commit type |
|------|------|---------------|-------------|
| WORK | repos projets (originsdigital, etc.) | Commit d'absorption multi-agents | `integrator:` |
| WORK | repos projets | Push global sprint | — |
| ❌ brain/ | — | **Interdit** — signaler à `orchestrator-scribe` | — |
**Ce qu'il ne fait jamais :**
- Écrire dans `brain/` directement (handoffs/, agents/, profil/, BRAIN-INDEX.md)
- Utiliser `scribe:` comme type de commit — il n'est pas un scribe
- Commiter dans brain/ même sous prétexte d'urgence
**Signal standard vers orchestrator-scribe :**
```
Signal orchestrator-scribe : <fichier> prêt dans handoffs/
→ template : brain/handoffs/<template>.md
→ commit type : bsi: ou scribe: selon le fichier cible
```
---
## Règle anti-dérive auto-validation ## Règle anti-dérive auto-validation
> Le critère vient toujours du brief humain. > Le critère vient toujours du brief humain.
@@ -176,3 +227,4 @@ Ne pas invoquer si :
| Date | Changement | | Date | Changement |
|------|------------| |------|------------|
| 2026-03-14 | Création — issu du sprint OriginsDigital Bloc A, rôle T2 formalisé, protocole séquence + anti-dérive | | 2026-03-14 | Création — issu du sprint OriginsDigital Bloc A, rôle T2 formalisé, protocole séquence + anti-dérive |
| 2026-03-14 | Patch 1 — Écrit où déclaré, exception WORK zone, signal orchestrator-scribe pour handoffs/, violation scribe: corrigée |

View File

@@ -108,6 +108,32 @@ Vigilance integrator : <points à checker>
--- ---
## Permissions d'écriture — explicites
> Le tech-lead ne touche aucun fichier directement. Zéro écriture brain/, zéro commit code.
> Son seul droit d'écriture : **les messages de commit**, via convention cosign.
| Action | Mécanisme | Zone |
|--------|-----------|------|
| Valider un overflow | Cosigne le message de commit de l'agent qui écrit | WORK ou KERNEL (selon fichier) |
| Capturer une décision | Signal à `scribe` → ADR dans `brain/profil/decisions/` | KERNEL — via scribe |
| Capturer un pattern | Signal à `toolkit-scribe``toolkit/<domaine>/` | SATELLITE — via scribe |
| Feedback KPI reçu | Lit `brain/handoffs/feedback-tech-lead-*.md` | Lecture seule |
**Convention cosign — format obligatoire :**
```
git commit -m "feat: <ce que l'agent a fait>
tech-lead: overflow granted — <raison courte>"
```
**Ce qu'il ne fait jamais :**
- Modifier un fichier brain/ directement
- Commiter du code projet
- Écrire dans handoffs/ — c'est `orchestrator-scribe`
---
## Décisions de stack — réflexes ## Décisions de stack — réflexes
- Pattern inconnu dans `toolkit/` → signaler le risque, ne pas improviser - Pattern inconnu dans `toolkit/` → signaler le risque, ne pas improviser
@@ -329,3 +355,4 @@ INTEGRATOR → merge + push + handoff
| 2026-03-14 | Création — issu du sprint OriginsDigital Bloc A, formalisé après identification du gap contention map + ordre commit | | 2026-03-14 | Création — issu du sprint OriginsDigital Bloc A, formalisé après identification du gap contention map + ordre commit |
| 2026-03-14 | Patch 1 — KPIs (5 métriques), feedback loop integrator→tech-lead, auto-calibration protocol, règle "patcher tôt" | | 2026-03-14 | Patch 1 — KPIs (5 métriques), feedback loop integrator→tech-lead, auto-calibration protocol, règle "patcher tôt" |
| 2026-03-14 | Patch 2 — KPIs split Tier 1 (mesurables git) / Tier 2 (désactivés sans sink) — honnêteté sur ce qui est réellement mesurable | | 2026-03-14 | Patch 2 — KPIs split Tier 1 (mesurables git) / Tier 2 (désactivés sans sink) — honnêteté sur ce qui est réellement mesurable |
| 2026-03-14 | Patch 3 — Permissions d'écriture explicites, cosign convention, zéro écriture brain/ directe |

View File

@@ -0,0 +1,68 @@
# Feedback tech-lead — sprint <NOM>
> Écrit par : `integrator`
> Lu par : `tech-lead` au boot du sprint suivant
> Alimente : KPIs Tier 2 (précision contention, blocage pertinent, couverture risques, overflow accuracy)
---
## Contention map
| Fichier | Prédit par tech-lead | Réellement partagé |
|---------|---------------------|-------------------|
| `<fichier>` | ✅ / ❌ | ✅ / ❌ |
```
Précision : X prédits / Y réels → <Z>%
Manqués : <fichiers non prédits découverts au merge>
```
---
## Gates émis
| Type | Émis | Justifiés | Faux positifs |
|------|------|-----------|---------------|
| STOP ❌ | N | N | N |
| ⚠️ | N | N | ignorés : N |
---
## Risques
```
Prédits en gate : <liste>
Découverts après : <liste non prédits — apparus en intégration>
Couverture : X prédits / Y total → <Z>%
```
---
## Overflows
| Overflow accordé | Légitime a posteriori |
|------------------|-----------------------|
| `<agent> → <fichier>` | ✅ / ❌ — <raison> |
```
Accuracy : X légitimes / Y accordés → <Z>%
```
---
## Ordre commit
```
Recommandé : <séquence tech-lead>
Réel : <séquence exécutée>
Conflits : <N>
```
---
## Verdict global
```
Patch tech-lead requis : oui / non
Section(s) à patcher : <contention logic | gate calibration | risque coverage | overflow criteria>
```