--- 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 :** La configuration et la documentation du projet sont dans `projects//` (chemin absolu : `/home/desk/code/lecoffre_ng_test/ia_dev/projects/`). L'identifiant `` vient du slug (contenu du fichier `../ai_project_id`). Rappeler ce chemin au début de chaque agent. **Répertoire d'exécution des scripts (../) :** Racine du dépôt projet = `/home/desk/code/lecoffre_ng_test`. Tous les scripts `deploy/` et `gitea-issues/` doivent être invoqués après `cd` vers cette racine (chemins absolus), ex. `cd /home/desk/code/lecoffre_ng_test && ./ia_dev/deploy/pousse.sh`, pour ne pas dépendre du répertoire de travail courant. **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** : il s'agit du **projet** et de la **branche** du dépôt dans le répertoire parent du workspace (`../`), pas de `ia_dev`. Le **projet** est le contenu du fichier `../ai_project_id`. La **branche** et le **répertoire de travail** sont ceux de ce dépôt parent (ex. `git -C .. branch --show-current`, répertoire `..`). - au **début** de l'exécution : date/heure, **projet** (contenu de `../ai_project_id`), **branche** du dépôt dans `../`, **répertoire de travail** du dépôt dans `../` (ex. `pwd` exécuté depuis `../`) ; - à la **fin** de l'exécution : date/heure, **projet**, **branche** du dépôt dans `../`, **répertoire de travail** du dépôt dans `../` ; - 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.