# Arkteos — règles de contribution ## Périmètre Ce dépôt prépare l'intégration custom Home Assistant `arkteos` pour une PAC Arkteos Zuran 4. L'intégration est strictement en lecture seule. ## Connexion réseau - Se connecter exclusivement au proxy TCP de l'addon Home Assistant séparé. - Ne jamais établir de connexion directe avec la PAC. - Le port de référence du proxy est `9641`; il doit rester configurable. - Ne jamais émettre d'octet, de commande ou d'acquittement vers le proxy sans preuve explicite que ce comportement est requis et sans décision explicite. ## Référence protocolaire - La source de vérité actuelle est `references/arkteos_nodered_flow.json`. - `references/proxy_protocol_notes.md` documente le contexte connu. - Préserver chaque champ décodé par le flow Node-RED de référence. - Ne pas déduire de champ, d'offset, d'unité, d'encodage ou de règle de découpage TCP qui ne soit pas démontré par ces références ou par des captures de trames versionnées. - Toute nouvelle connaissance du protocole doit citer sa source et être testée avec une capture anonymisée ou un cas de test reproduisible. ## Changements - Ne supprimer aucune ligne, commentaire, test ou fichier existant sans justification explicite de l'utilisateur. - Avant chaque modification, indiquer les fichiers ou zones concernés et la raison du changement; après modification, récapituler ce qui a été fait. - Expliquer la zone concernée et présenter le diff avant toute modification importante. - Préserver les fichiers de référence et ne jamais les réécrire pour adapter l'intégration. ## Validation - Ajouter des tests unitaires pour chaque règle de parsing introduite. - Exécuter les tests après chaque modification fonctionnelle. - Tester les données tronquées, concaténées et inconnues avant de considérer la gestion du flux TCP comme fiable. - Vérifier que les plateformes Home Assistant exposées ne permettent aucune action d'écriture. ## Architecture et dépôt - Séparer le parsing, le transport TCP et le code des entités Home Assistant. - Ne jamais versionner d'identifiant, d'adresse IP, de jeton, de mot de passe ni de capture privée. - Préférer des commits petits et facilement relisibles. - Créer les commits nécessaires et indiquer explicitement quand la branche est prête à être poussée.