Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .claude/skills/coordinate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,22 @@ Les phases ci-dessous s'executent sous le budget defini par la section `## Budge

**Budget** : ces neuf points sont **clos avant** d'ouvrir la Phase 4. S'ils ne le sont pas a la fin des 30 minutes, ce sont eux qu'on termine -- pas le merge qu'on commence.

### Phase 3bis - Taches de fond : les deux ping-pongs (mandat user 2026-10-03)

Deux circuits asynchrones tournent **pendant** que le cycle merge. Ce sont deux circuits distincts : l'entrainement n'est pas une branche du proving. Le coordinateur ne fait pas leur travail ; il verifie a chaque cycle que chaque boucle tourne, et il relance le maillon qui manque.

| Ping-pong | Ce qui tourne | Qui lance | Qui exploite le resultat | Rendez-vous |
|---|---|---|---|---|
| **Proving** | passes du harnais prover (`agent_tests/prover`) | la lane qui tient le harnais | la forensic CoursIA, qui rend des lecons a la passe suivante | #1453 |
| **GPU** | entrainements et experiences | ai-01 sur son GPU d'experiences (grande echelle) ; les lanes a petit GPU defrichent a petite echelle | la lane qui a defriche, ou qui porte le carnet | #1454 |

1. **Lancer AU DEBUT de la phase de travail reel, en arriere-plan, puis PARTIR.** La prochaine action porte sur un autre track (merge-gate, dispatch). Jamais de poll au premier plan sur un run qu'on vient de lancer : la notification de fin est le seul observateur. Une exception : un controle de surete juste apres le lancement (le run est-il sur le bon device ?).
2. **GPU : etat, puis reservation.** Lire `nvidia-smi --query-gpu=index,memory.used,utilization.gpu,temperature.gpu --format=csv` et la derniere observation du ledger `gpu-reservation` (dashboard `CoursIA-gpu-reservation-ledger`). GPU d'experiences sous 500 MiB et aucune reservation `held` : lancer le prochain job de la file #1454 (commande remise par la lane qui defriche, ou complement multi-seed d'un run deja livre). Reserver **avant** de charger (`python scripts/coordination/debt_ledger.py append --ledger gpu-reservation`, avec echeance), puis poster l'observation ; passer en `released` a la fin.
3. **GPU : garde-fous.** Le device se pose **explicitement**, d'apres la topologie mesuree de la machine (`nvidia-smi -L`). Sur ai-01, les GPU 0+1 portent le vLLM de la flotte : un runner qui fixe lui-meme `CUDA_VISIBLE_DEVICES` se neutralise ou se contourne, jamais ne se lance tel quel. Un seul job GPU a la fois, abandon au-dela de 85 °C, worktree detache dedie, sorties hors depot.
4. **Proving : verifier la boucle, pas la refaire.** Derniere passe et sa trace sur #1453, forensic rendue ou non, lecons reinjectees ou non dans la passe suivante. Le maillon manquant se **dispatche nommement** (DM + pointeur dashboard) a la lane qui le porte.
5. **Rendre.** Un run termine produit un artefact (traces, JSONL, carnet de sortie) remis a la lane qui l'exploite, par DM et commentaire sur l'issue de rendez-vous. Il n'entre dans le depot que par la PR de la lane proprietaire du carnet ou du script.
6. **Rapport.** Le `[DONE]` porte une ligne `[BG] proving: <derniere passe / forensic> | gpu: <job, device, debut, fin prevue> ou libre`. Un GPU d'experiences vide sans raison ecrite est une dette du cycle, a lever au suivant.

### Phase 4 - Merge PAR LA QUEUE, sur dossiers premaches

**Ordre unique : du plus ancien au plus recent.** Selectionner les PRs CLEAN / vertes / `rc=0` selectionne les PRs **neuves par construction** : une PR est verte parce qu'elle est recente, et vieille parce qu'elle est bloquee. Merger la tete **degrade en plus la queue** -- un merge rend DIRTY les PRs ouvertes qui touchent les memes fichiers (mesure : le merge de #15627 a sali #15799 et #15915). Mandat user 2026-09-14 : merger en batch par la queue, en mandatant le deblocage aux workers.
Expand Down
Loading