Sept étaient des trous de classification ou de citation, sept sont réelles.
TROIS CITATIONS AJOUTÉES, portées par du code depuis longtemps :
LM-400 une machine physique est UNE charge → c'est l'exclusivité d'un Thing
dans validateSet() qui l'empêche d'être déclarée deux fois
LM-301-b « une charge utile, une branche de fabrique » vaut pour CONSTRUIRE,
pas pour ALIMENTER en actions → le repli L2 lit supportedKinds
LM-600 les codes d'adapter portent le nom du MÉCANISME, jamais du domaine
QUATRE PASSÉES EN CADRAGE : ECS-004/005 (invariant tenu par ABSENCE — aucun
identifiant de relais ne franchit la frontière, il n'y a rien à pointer), LM-404
(hors périmètre déclaré), LM-501 (justification de NE PAS bâtir les groupes tant
que la liste plate suffit).
RESTENT SEPT, et ce sont de vraies attentes : ECS-111, ECS-302, ECS-305, ECS-307
(les trois dernières déjà listées en « ce qui reste à éprouver », §9 de
spec_ecs.md), LM-401/LM-402 (facettes, couche non bâtie), LM-502 (plafond de
groupe, conditionnel).
ECS-111 mérite d'être remonté : ce n'est pas une attente, c'est un défaut vivant,
et sa conséquence dépasse ce que la spec en dit. Détail dans le rendu de session.
Bilan de l'index après cette passe : 34 « spécifiée seule » (dont 27 en
territoire non construit), 26 cadrage, 24 citées par le code, 17 par un test, 12
vérifiées sur machine. Le nombre de départ était 70.
Aucun changement de comportement. ci-quality 3/3, build 0/0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015F7G5VeaPVSMeVNjiGj36p
69 lines
3.8 KiB
Plaintext
69 lines
3.8 KiB
Plaintext
# 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 : IDENTIFIANT<TAB>motif
|
|
|
|
# — 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
|