--- description: Règles pour tous les réponses (en fin de réponse) alwaysApply: true model: inherit --- # Clôture évolution / correction - **Principe** : tout agent ou règle invoqué dans ce document ou dans un agent doit être **appliqué intégralement**, sans omission (exécuter l'agent en entier ou appliquer toutes les étapes de la règle concernée). - Clôturer toute réponse en **appliquant intégralement** ces règles /!\ TTRES IMPORTANT ET NON NEGOCIABLE, - **Périmètre** : la clôture est **toujours complète** pour **tous les agents** — sans exception. Aucune exception : même pour les agents qui ne modifient pas le code (ex. branch-align, push-by-script), les points 2 (5 sub-agents par projet), 14 (docupdate), 16 et 17 s’appliquent. C'est toujours applicable de 1 à 19. Lister toutes les actions réaliées et non réalisées dans tous les cas de tous les points. **Contexte projet :** Les agents sont définis et lancés depuis ia_dev (centralisé) mais sont **dédiés aux projets configurés** (lecoffreio, enso, algo, etc.), pas à ia_dev. La configuration et la documentation de chaque projet sont dans `projects//`. L'identifiant `` est résolu par MAIL_TO ou AI_AGENT_TOKEN. Rappeler le projet et la branche au début de chaque agent. **Répertoire d'exécution des scripts (standalone) :** Racine de ia_dev. Tous les scripts `deploy/` et `gitea-issues/` doivent être invoqués depuis la racine de ia_dev, ex. `./deploy/pousse.sh`, `./gitea-issues/wiki-migrate-docs.sh`. Les chemins absolus dans `conf.json` pointent vers les dépôts des projets. **Référence unique** : le détail de l'horodatage et des étapes 1 à 17 est défini uniquement ici. Les agents appliquent ce fichier intégralement et ne recopient pas les blocs détaillés. À la fin de toutes réponses il faut obligatoirement afficher : 1. **Horodatage et contexte obligatoires pour tous les agents** : à chaque exécution d'un agent (pas seulement en clôture), horodater (date et heure, format explicite ou ISO 8601) et afficher ou logger : - **Projet et branche** : **projet** = id résolu par MAIL_TO ou AI_AGENT_TOKEN (config dans `projects//`). **Branche** et **répertoire de travail** = branche et répertoire du dépôt sur lequel on opère (ia_dev ou dépôt du projet configuré via conf.json, ex. `git branch --show-current`, `pwd`). - au **début** de l'exécution : date/heure, **projet** (id), **branche**, **répertoire de travail** du dépôt concerné ; - à la **fin** de l'exécution : date/heure, **projet**, **branche**, **répertoire de travail** du dépôt concerné ; - au **lancement** de chaque sub-agent : date/heure + nom du projet concerné (global/commun, frontend, backend, ressources partagées, scripts shell) ; - au **retour** de chaque sub-agent : date/heure + nom du projet concerné. 2. Répondre à toutes les questions de clôture et **lancer et exécuter intégralement** un sub-agent pour **chaque** projet : global/commun, frontend, backend, ressources partagées, scripts shell — chaque sub-agent doit répondre **obligatoirement** à : 3. **Usage et création de Helpers systématique:** - Réalisées - Non réalisées encore 4. **Texte i18n systématique + `.secrets//env-full` (obligatoire) :** - Réalisées - Non réalisées encore 5. **Fallback interdits obligatoire:** - Réalisées - Non réalisées encore 6. **Modifications similaires à celles réalisées systématiquement :** - Réalisées - Non réalisées encore 7. **Optimisation / mutualisation / centralisation systématique:** - Réalisées - Non réalisées encore 8. **Réduction de la complexité systématique:** - Réalisées - Non réalisées encore 9. **Renforcement systématique de la sécurité :** - Réalisées - Non réalisées encore 10. **Code mort interdit obligatoirement:** - Réalisées - Non réalisées encore 11. **Lint corrigé obligatoirement :** - Réalisées - Non réalisées encore 12. Lister ce qu'il reste à faire (puces) 13. Réalise le "Non réalisées encore" 14. réalise le reste à faire. 15. Si il n'a pas été lancé avant, lancer l'agent `.cursor/agents/push-by-script.md` (commande /push-by-script) **à exécuter intégralement**, avec un message de commit contenant les infos obligatoires suivantes (vérifier ou établir que ce format est en place). Voir `.cursor/agents/push-by-script.md` pour le détail du format : - Etat initial - Motivation du changement - Résolution - Root cause - Fonctionnalités impactées - Code modifié - Documentation modifiée - Configurations modifiées - Fichiers dans déploy modifiés - Fichiers dans logs impactés - Bases de données et autres sources modifiées - Modifications hors projet - fichiers dans .cursor/ modifiés - fichiers dans .secrets/ modifiés - nouvelle sous sous version dans VERSION - CHANGELOG.md mise à jour (oui/non) 16. Afficher le texte du commit.