đ 3 â Plan â
Plan transforme lâapproche choisie en petites Ă©tapes ordonnĂ©es. Chacune liste les fichiers, lâaction, le code, la commande de vĂ©rification et le contrĂŽle de dĂ©marrage.
Un bon plan rĂ©pond Ă trois questions avant quâune seule ligne de code ne soit Ă©crite :
- OĂč les agents sont-ils autorisĂ©s Ă intervenir, et oĂč leur est-il interdit de toucher ?
- Dans quel ordre les Ă©tapes doivent-elles sâexĂ©cuter ? Chaque Ă©tape est-elle suffisamment petite pour ĂȘtre vĂ©rifiĂ©e individuellement ?
- Comment prouver que chaque étape, ainsi que le changement dans son ensemble, est correcte ?
Objectif â
| Entrée | Sortie | Responsable |
|---|---|---|
| Le dossier Think validĂ© issu de 2 â Think | Un plan comprenant le pĂ©rimĂštre de fichiers, les critĂšres dâacceptation, une liste dâimplĂ©mentation ordonnĂ©e, le code Ă implĂ©menter et un plan de test | Architecte + DĂ©veloppeur |
Le dossier Plan â
Le dossier Plan (plan.md) est commitĂ© avec lâĂ©lĂ©ment de travail aux cĂŽtĂ©s du ticket de backlog et du dossier Think.
| Section | Description |
|---|---|
| PérimÚtre de fichiers & limites | Les fichiers et zones que les agents peuvent modifier, et ceux auxquels ils ne doivent pas toucher |
| PrĂ©requis | DĂ©pendances, variables dâenvironnement ou services nĂ©cessaires avant lâĂtape 1 |
| CritĂšres dâacceptation | 3 Ă 8 Ă©noncĂ©s observables qui sont soit vrais soit faux, rĂ©digĂ©s de sorte quâun test puisse les vĂ©rifier |
| Checklist dâimplĂ©mentation | Ătapes atomiques ordonnĂ©es, chacune avec ses fichiers, son action, son nouveau code, sa commande de vĂ©rification, sa vĂ©rification de dĂ©marrage et le critĂšre auquel elle rĂ©pond |
| Plan de test | Pour chaque critĂšre dâacceptation, quel test le prouve et Ă quelle Ă©tape il est créé |
| Questions ouvertes & hypothĂšses | Tout point restĂ© en suspens ou supposĂ© au niveau de lâimplĂ©mentation. Les questions ouvertes sont tranchĂ©es avant le dĂ©marrage de Code |
Incluez les mises Ă jour du contexte identifiĂ©es dans Think comme Ă©tapes. Ajoutez une Ă©tape inverse pour ce quâun revert ne peut pas annuler, comme une migration de donnĂ©es. Le rollback ĂlevĂ©/Critique est nommĂ© dans Think.
CritĂšres dâacceptation â
Les critĂšres sont rĂ©digĂ©s de maniĂšre Ă ce quâun test puisse les vĂ©rifier sans part dâinterprĂ©tation :
- Ătant donnĂ© une requĂȘte non authentifiĂ©e vers GET /api/v1/orders, alors la rĂ©ponse est 401 avec un corps vide.
- Ătant donnĂ© un utilisateur ayant le rĂŽle viewer, lorsquâil envoie POST /api/v1/orders, alors la rĂ©ponse est 403.
- Ătant donnĂ© une commande valide pour un produit connu, lors dâun POST /api/v1/orders, alors la rĂ©ponse est 201 et exactement un Ă©vĂ©nement order.created est publiĂ©.
- Ătant donnĂ© une commande pour un produit inconnu, lors dâun POST /api/v1/orders, alors la rĂ©ponse est 400 et aucune ligne nâest Ă©crite en base.La checklist dâimplĂ©mentation â
Chaque étape représente un petit changement vérifiable indépendamment. Une étape comporte :
| Champ | Signification |
|---|---|
| Fichiers | Les fichiers exacts à créer ou modifier. Aucun fichier en dehors du périmÚtre autorisé |
| Action | Ce que fait lâĂ©tape, en une ligne |
| Nouveau code | Le code Ă implĂ©menter pour cette Ă©tape, prĂ©parĂ© par lâIA |
| VĂ©rification | Une commande ciblĂ©e qui prouve cette Ă©tape, par exemple lâexĂ©cution dâun seul fichier de test |
| VĂ©rification de dĂ©marrage | Une commande qui prouve que lâapplication complĂšte dĂ©marre et fonctionne toujours aprĂšs lâĂ©tape |
| Sert | Le critĂšre dâacceptation que cette Ă©tape contribue Ă satisfaire |
Une étape est bien formée lorsque :
- elle fait une seule chose, et est suffisamment petite pour quâun agent la termine en quelques boucles de correction (voir le nombre de boucles de correction dans MĂ©triques),
- elle ne dĂ©pend que des Ă©tapes prĂ©cĂ©dentes, afin que lâordre dâexĂ©cution compile toujours,
- elle laisse lâapplication dĂ©marrable (bootable), jamais Ă moitiĂ© cassĂ©e,
- elle peut ĂȘtre vĂ©rifiĂ©e par une commande, et non par une opinion,
- chaque fichier du périmÚtre apparaßt dans au moins une étape, et aucune étape ne touche un fichier hors périmÚtre.
OĂč lâIA intervient â
LâIA produit, recoupe et approuve automatiquement le plan. Le DĂ©veloppeur et lâArchitecte interviennent uniquement si un contrĂŽle en Ă©chec ou une ambiguĂŻtĂ© non rĂ©solue empĂȘche de continuer.
| TĂąche | ResponsabilitĂ© autonome de lâIA | Gestion humaine des exceptions |
|---|---|---|
| PérimÚtre de fichiers & prérequis | Définir et valider les frontiÚres et dépendances depuis Think | Résoudre un conflit de périmÚtre |
| CritĂšres dâacceptation | DĂ©duire des critĂšres observables et vĂ©rifier leur traçabilitĂ© | RĂ©soudre une ambiguĂŻtĂ© bloquante |
| Checklist dâimplĂ©mentation | GĂ©nĂ©rer et valider des Ă©tapes atomiques ordonnĂ©es | Traiter un Ă©chec de validation non rĂ©solu |
| Vérification par étape & plan de test | Relier chaque critÚre à des contrÎles et tests exécutables | Corriger une lacune de politique de contrÎle |
| Questions ouvertes & hypothĂšses | RĂ©soudre depuis les preuves disponibles et expliciter les hypothĂšses | Fournir lâintention manquante si la validation est bloquĂ©e |
| Validation de la structure du plan | ExĂ©cuter les contrĂŽles et consigner lâapprobation automatisĂ©e | Intervenir aprĂšs un Ă©chec non rĂ©solu |
Agents et skills â
Plan sâappuie sur les primitives du Contexte persistant issues de coding-pal :
- Un agent Planner convertit le dossier Think en étapes atomiques, établit des frontiÚres de fichiers explicites et rédige
plan.md. - Une instruction plan impose des étapes atomiques, des tests associés, des extraits de code et le respect du périmÚtre de Think.
- Le skill think-plan vĂ©rifie le pĂ©rimĂštre, la couverture des Ă©tapes, les tests dâacceptation et la cohĂ©rence du risque avec Think.
- Le dossier Think (
think.md) constitue lâentrĂ©e immĂ©diate du Contexte persistant qui encadre le plan.
Voir le guide Think & Plan de coding-pal.
Pipeline de livraison â
Le pipeline Plan transforme la spĂ©cification en plan dâimplĂ©mentation, selon les dĂ©clencheurs et points de revue communs :
- Restaure la spécification Think validée.
- Positionne le statut Plan avant de lancer lâagent.
- Définit les étapes, fichiers, tests et documents.
- Valide le plan par rapport Ă Think.
- Lie le plan versionné au ticket.
- Consigne lâapprobation automatisĂ©e et passe Ă Code, sauf si une revue est demandĂ©e.
Point dâarrĂȘt : revue demandĂ©e, validation en Ă©chec ou passage Ă Code. Le statut reste Plan jusquâau dĂ©marrage de Code. Signalez les Ă©checs non rĂ©solus Ă un dĂ©veloppeur ; le travail indĂ©pendant peut continuer.
Jalon de sortie â
Un Ă©lĂ©ment de travail quitte Plan et entre dans 4 â Code uniquement lorsque :
- chaque fichier du périmÚtre a une étape ; aucune étape ne touche un fichier hors périmÚtre,
- chaque critÚre est observable et couvert par une étape et un test,
- chaque étape ordonnée liste ses fichiers, son action, son nouveau code, sa commande de vérification et sa vérification de démarrage,
- les questions ouvertes ont trouvé réponse et les hypothÚses sont consignées,
- tout changement quâun revert ne peut pas annuler possĂšde sa propre Ă©tape inverse,
- le niveau de risque et les contrÎles requis correspondent au périmÚtre final,
- le plan passe la validation déterministe et son approbation automatisée est consignée.