docs(coordination): protocole de coordination + décisions + inbox + log + vision
- docs/coordination/ : README, decisions (no-ui, pivots MVP), inbox Claude/Qwen/Dom, archive, log, etat-projet - docs/installation/ : procédure SmartScreen - docs/reflexions/ : vision fonctionnelle avant prod Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
115
docs/coordination/README.md
Normal file
115
docs/coordination/README.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Coordination Claude ↔ Qwen — Règles du jeu
|
||||
|
||||
**Pivot :** Claude (Anthropic) — lit, route, répond, met à jour `etat-projet.md` et `log.md`
|
||||
**Reviewer code :** Qwen Code — audit code, perf, dette technique
|
||||
**Chef de projet / décideur final :** Dom (dbazin52@gmail.com)
|
||||
|
||||
---
|
||||
|
||||
## 1. Objectif
|
||||
|
||||
Maintenir une **vision globale partagée** du projet anonymisation médicale sur 4 axes :
|
||||
- **Produit** (fonctionnalités attendues, cas d'usage, RGPD métier)
|
||||
- **Qualité** (tests, score baseline, non-régression)
|
||||
- **Code** (architecture, dette technique, perf, sécurité)
|
||||
- **Évolutivité** (roadmap, refactoring, scalabilité multi-établissements)
|
||||
|
||||
## 2. Arborescence
|
||||
|
||||
```
|
||||
docs/coordination/
|
||||
├── README.md # CE FICHIER — règles du jeu
|
||||
├── etat-projet.md # Source de vérité partagée — état courant
|
||||
├── log.md # Journal chronologique des échanges (lisible terminal)
|
||||
├── audits/ # Audits datés et signés
|
||||
├── inbox/
|
||||
│ ├── for-claude/ # Qwen dépose ici → Claude lit
|
||||
│ └── for-qwen/ # Claude dépose ici → Qwen lit
|
||||
├── archive/
|
||||
│ ├── from-qwen/ # Messages traités venant de Qwen
|
||||
│ └── from-claude/ # Messages traités venant de Claude
|
||||
├── decisions/ # Tranches de Dom — toi seul écris ici
|
||||
└── plans/ # Plans d'action consolidés
|
||||
```
|
||||
|
||||
## 3. Convention de nommage des messages
|
||||
|
||||
`YYYY-MM-DD_HH-MM_AUTEUR_TOPIC-KEBAB.md`
|
||||
|
||||
Exemples :
|
||||
- `2026-05-28_17-30_claude_kickoff-coordination.md`
|
||||
- `2026-05-28_18-15_qwen_reponse-phase0-securite.md`
|
||||
|
||||
## 4. Format obligatoire de chaque message
|
||||
|
||||
```markdown
|
||||
---
|
||||
from: claude | qwen | dom
|
||||
to: claude | qwen | dom | all
|
||||
date: 2026-05-28T17:30:00+02:00
|
||||
topic: short-kebab-topic
|
||||
status: open | answered | closed
|
||||
references:
|
||||
- audit: 2026-05-28_qwen_audit-complet
|
||||
- file: anonymizer_core_refactored_onnx.py:1118
|
||||
- commit: 13730d1
|
||||
priority: low | normal | high | blocker
|
||||
---
|
||||
|
||||
# Titre clair du message
|
||||
|
||||
## Contexte
|
||||
(en quoi ce message s'inscrit dans la conversation)
|
||||
|
||||
## Question / proposition / réponse
|
||||
(contenu principal)
|
||||
|
||||
## Actions attendues
|
||||
(ce que tu attends du destinataire, avec délai si pertinent)
|
||||
```
|
||||
|
||||
## 5. Cycle de vie d'un message
|
||||
|
||||
1. **Émetteur** dépose dans `inbox/for-<destinataire>/`
|
||||
2. **Destinataire** lit → écrit sa réponse dans `inbox/for-<émetteur>/`
|
||||
3. **Destinataire** déplace l'original dans `archive/from-<émetteur>/` après lecture
|
||||
4. **Claude (pivot)** met à jour `log.md` avec un résumé 1-ligne de chaque échange
|
||||
|
||||
## 6. Désaccords
|
||||
|
||||
- Si Claude et Qwen sont en désaccord : **ne pas trancher seul**
|
||||
- Le désaccord est documenté dans un fichier `inbox/for-dom/<date>_desaccord-<topic>.md`
|
||||
- Dom écrit sa décision dans `decisions/<date>_<topic>.md`
|
||||
- Tant que pas de décision, la question reste `status: open`
|
||||
|
||||
## 7. Source de vérité — `etat-projet.md`
|
||||
|
||||
Claude le maintient à jour à chaque cycle. Contient :
|
||||
- Commit actuel (SHA + date)
|
||||
- Score qualité courant
|
||||
- Version EXE distribuée
|
||||
- Décisions tranchées par Dom
|
||||
- Statut des actions en cours (tableau)
|
||||
|
||||
Qwen et Dom le consultent en lecture pour s'aligner.
|
||||
|
||||
## 8. Visibilité terminal pour Dom
|
||||
|
||||
À chaque cycle, Claude (le pivot) affiche dans son output terminal :
|
||||
- Ce qu'il a lu dans `inbox/for-claude/`
|
||||
- Ce qu'il a déposé dans `inbox/for-qwen/`
|
||||
- Les désaccords détectés
|
||||
- Une ligne ajoutée à `log.md`
|
||||
|
||||
Dom peut interrompre à tout moment pour trancher ou réorienter.
|
||||
|
||||
## 9. Règles de fond
|
||||
|
||||
- **Aucune action irréversible sans accord de Dom** (push, commit important, modif code production)
|
||||
- **Citer ses sources** : fichier:ligne, commit SHA, audit daté
|
||||
- **Désaccord explicite > consensus mou** : préférer marquer un désaccord plutôt que céder par lassitude
|
||||
- **Vision globale** : ne jamais traiter une demande isolée sans la situer dans le projet
|
||||
|
||||
## 10. Bootstrap
|
||||
|
||||
Premier message à lire pour Qwen : `inbox/for-qwen/2026-05-28_17-30_claude_kickoff-coordination.md`
|
||||
Reference in New Issue
Block a user