# Règles générales du projet ## Portée Les règles `GEN-*` s'appliquent à l'ensemble du dépôt. ## Hiérarchie normative - **GEN-RULE-001** — `RULES.md` est l'index normatif racine et ne duplique pas les règles détaillées. - **GEN-RULE-002** — Les règles sont cumulatives. - **GEN-RULE-003** — Toute exception est locale, bornée, justifiée et traçable. - **GEN-RULE-004** — Une décision non validée reste une question ouverte et n'est pas transformée en règle par supposition. - **GEN-RULE-005** — Une validation n'est déclarée réussie que si elle a réellement été exécutée. ## Noms et fichiers texte - **GEN-FILE-001** — Les noms de fichiers et répertoires sont en anglais, sans accent ni espace, sauf contrainte externe. - **GEN-FILE-002** — Tout fichier texte qui supporte les commentaires commence par son chemin relatif puis par une version entière de fichier. - **GEN-FILE-003** — Pour un script avec shebang, le shebang reste en première ligne et les métadonnées suivent immédiatement. - **GEN-FILE-004** — La version interne d'un fichier augmente à chaque enregistrement modifiant son contenu et ne diminue jamais. - **GEN-FILE-005** — Les fichiers texte se terminent par exactement une fin de ligne lorsque leur format le permet. ## Langues - **GEN-LANG-001** — Code, identifiants, commentaires de code et rustdocs sont en anglais. - **GEN-LANG-002** — La documentation Markdown interne est rédigée en français, sauf nécessité externe explicite. ## Travail et validation - **GEN-WORK-001** — Une tranche de travail traite un périmètre cohérent et validable. - **GEN-WORK-002** — Une tranche planifiée comme trop volumineuse doit être découpée avant exécution. - **GEN-WORK-003** — Une erreur introduite par une tranche est corrigée dans cette tranche ou explicitement reportée. - **GEN-WORK-004** — Une erreur métier ou architecturale n'est pas masquée par une exception globale de lint ou de test. - **GEN-WORK-005** — Les audits du dépôt sont en lecture seule sur les fichiers contrôlés.