# Règles de CADRAGE — celles dont on n'ATTEND aucun porteur de code. # # POURQUOI CETTE LISTE. Sans elle, « spécifiée seule » est un nombre qui ne veut rien # dire : il mélange « pas encore construite » avec « rien ne pourra jamais la citer ». # Une règle NÉGATIVE — « un thermostat n'est PAS une charge », « aucune ThingClass n'est # exposée » — s'applique par ABSENCE de code : il n'existe aucune ligne à pointer. La # compter comme un trou de couverture invite à boucher un trou qui n'existe pas. # # CE QUE LA LISTE NE DIT PAS. Elle ne dit pas « aucun code ne peut la citer », mais # « on n'attend pas de porteur ». La nuance décide du garde-fou ci-dessous. # # ── GARDE-FOU : le générateur CASSE si une règle d'ici acquiert une citation de code ── # # C'est ce qui empêche une liste tenue à la main de dériver — même mécanique que le refus # de redéfinir un numéro retiré. Deux cas la déclenchent, et la réparation est la même : # # · la règle a été implémentée depuis → la classification est PÉRIMÉE ; # · la règle est citée pour expliquer une ABSENCE (« LM-202 : un thermostat n'est pas # une charge, donc rien ici ») → la citation est légitime, et la règle a désormais # un porteur lisible. # # Dans les deux cas : RETIRER la ligne. L'index la comptera « citée par le code », ce qui # est vrai et plus utile que « cadrage ». La liste ne peut donc que RÉTRÉCIR — elle ne # sait pas mentir dans le sens qui compte. # # NE PAS y mettre une règle simplement « pas encore faite ». §10, §14, ECS-5xx et ECS-6xx # n'y sont pas : ils sont en attente de construction, et c'est ce que « spécifiée seule » # doit continuer de dire. # # format : IDENTIFIANTmotif # — Cadre du chantier ECS : constats résolus, frontières tenues par absence, hors périmètre ECS-001 constat résolu, négatif — reconfirmé contre le libnymea du build ECS-002 négatif : ni integration-plugin, ni dépôt, ni ThingClass ECS-003 découpage documentaire, pas une exigence de comportement ECS-007 interdiction — aucune couche ECS ne décide de sa part du surplus ECS-008 contrat d'un AUTRE produit (Héos consomme, l'ECS publie) ECS-203 CLOS : aucune ThingClass exposée, donc aucune interface à implémenter # — §1 : ce que le modèle EST, avant tout mécanisme LM-100 structure du modèle — deux couches indépendantes LM-101 structure du modèle — une charge choisit un domaine et un mécanisme LM-102 négatif : aucune des deux couches ne répartit de budget # — Négatifs et hors moule LM-202 négatif : un thermostat de zone n'est PAS une charge LM-403 négatif : le mode est une sortie, jamais une entrée LM-405 hors périmètre : la décomposition en facettes vit côté ems LM-406 négatif : sans chauffe-eau distinct, il n'y a pas de charge à créer LM-700 hors moule : la batterie n'est pas une charge à rang (renvoi §14) LM-701 hors moule : le smarthome ne se module pas en watts # — §5/§6 : définitions et conventions de nommage LM-500 définition — un groupe est une clé de tri, jamais un détenteur de budget LM-503 définition — ce qu'un rang n'est pas LM-504 convention de nommage du domaine hvac LM-601 souhait de renommage, pas une exigence # — Justifications et contrats clients LM-1204 justification d'un ordre de travail, pas une exigence LM-1205 constat — la machinerie d'échéance existe déjà LM-1209-d contrat d'AFFICHAGE côté client ; le moteur n'a rien à porter # — Ajouts du 2026-08-29, après lecture des 14 règles en territoire livré ECS-004 invariant tenu par ABSENCE — aucun identifiant de relais ne franchit la frontière ECS-005 idem ECS-004 (énoncé conjoint) LM-404 hors périmètre déclaré — biais par consigne, à ne rouvrir que sur besoin LM-501 justification de NE PAS bâtir les groupes tant que la liste plate suffit