some llm docs
This commit is contained in:
1 parent
8cd2a414cd
commit
13115ad1ba
5 files changed
+709
No files matched your search
@@ -0,0 +1,83 @@
|
||||
# Modifications locales AppDaemon — état au 4 novembre 2026
|
||||
|
||||
Toute l’instrumentation des utility loops a été retirée sur disque : chronométrages,
|
||||
profils de piles, décorateurs et messages de diagnostic. Le module ajouté
|
||||
`_utility_diagnostics.py` et son cache ont été supprimés.
|
||||
|
||||
## Seuls correctifs conservés dans le core
|
||||
|
||||
- `plugin_management.py` : `refresh_update_time(plugin.name)`, décrit dans
|
||||
[APPDAEMON_BANDWIDTH_BUG_FIX.md](../APPDAEMON_BANDWIDTH_BUG_FIX.md).
|
||||
- `utils.py` : comparaison des ensembles de clés dans `deep_compare`, décrite dans
|
||||
[APPDAEMON_RELOAD_BUG_FIX.md](../APPDAEMON_RELOAD_BUG_FIX.md).
|
||||
|
||||
Comparaison de **309 fichiers** au tag officiel
|
||||
[4.5.10](https://github.com/AppDaemon/appdaemon/tree/4.5.10) : tous sont identiques
|
||||
à l’octet près, sauf ces deux modifications exactes. Aucun fichier source supplémentaire.
|
||||
Les caches Python générés sont exclus de cette comparaison.
|
||||
Le fichier statique `aui/index-prod.html`, absent du paquet installé mais présent
|
||||
au tag, a également été remis depuis ce tag pour respecter cette référence.
|
||||
|
||||
- [Diff intégral restant](appdaemon-core-4.5.10.diff)
|
||||
- [Empreintes SHA-256 des fichiers vérifiés](appdaemon-core-audit.json)
|
||||
|
||||
## Optimisation applicative conservée
|
||||
|
||||
`apps/ad_toolbox/logger_interface.py` conserve le raccourci évitant l’inspection
|
||||
inutile des piles pour les messages ordinaires. `adapi.py` est identique au tag.
|
||||
Les sept tests `test_logger_interface_fast_path.py` passent après restauration.
|
||||
Les onze vérifications de `deep_compare` du document du correctif passent aussi.
|
||||
|
||||
## Archive et retour arrière
|
||||
|
||||
Les anciens scripts, tests spécifiques au diagnostic, sauvegardes et documents
|
||||
historiques sont conservés dans
|
||||
`tools/archive/appdaemon-diagnostics-retired-20261104.tar.gz`.
|
||||
Ils ne sont plus installés ni collectés par la suite de tests.
|
||||
Les deux fichiers `.bak` du paquet ont été déplacés dans cette archive
|
||||
(sous `site-packages-backups/`). Les anciens chemins de sauvegarde décrits dans
|
||||
les documents historiques ne sont donc plus actifs.
|
||||
|
||||
**Un redémarrage AppDaemon reste nécessaire** pour décharger le code instrumenté
|
||||
déjà en mémoire. Le service n’a pas été redémarré durant cette intervention.
|
||||
Les réglages applicatifs et les exclusions de dossiers existantes n’ont pas été modifiés.
|
||||
|
||||
## Réapplication après rollback — 8 novembre 2026
|
||||
|
||||
Version vérifiée : **4.5.10**, avec `/usr/local/bin/python3` et le paquet
|
||||
`/usr/local/lib/python3.12/site-packages/appdaemon`. PID 1 :
|
||||
`python3 -m appdaemon -c /conf`.
|
||||
|
||||
Les trois changements absents ont été réappliqués :
|
||||
|
||||
- `plugin_management.py` : `refresh_update_time(plugin.name)`.
|
||||
- `utils.py` : comparaison des clés au début de `deep_compare`.
|
||||
- `/usr/src/app/dockerStart.sh` : un seul appel à
|
||||
`sh "$CONF/archiveLogs.sh"`, avant le lancement AppDaemon.
|
||||
|
||||
Sauvegardes originales et manifeste (chemins absolus, version, SHA-256) :
|
||||
`/conf/tools/backups/appdaemon-4.5.10-20261108T094103312482Z/manifest.json`.
|
||||
Le lien `/conf/dockerStart.sh` pointe toujours vers le script ci-dessus.
|
||||
Le raccourci applicatif de `LoggerInterface` était déjà présent et a été conservé.
|
||||
Aucun changement aux apps, YAML, exclusions ou à `archiveLogs.sh`.
|
||||
|
||||
Validations exécutées : 11 cas `deep_compare` réussis, syntaxe des deux fichiers
|
||||
Python valide, correctif HASS vérifié, syntaxe shell des deux scripts valide,
|
||||
un seul appel d'archivage placé avant l'exec. Les 7 tests
|
||||
`test_logger_interface_fast_path.py` passent, sans tests ignorés.
|
||||
Sur 5 tests `test_logger_interface_grouping.py`, 2 passent et 3 échouent
|
||||
sur les libellés/groupes (`test_log_group_takes_priority_over_condition_name`,
|
||||
`test_smart_object_groups_its_own_lifecycle`,
|
||||
`test_smartcondition_uses_smartobject_api_scope_without_logger_interface_argument`).
|
||||
Le code applicatif concerné n'a pas été modifié pendant cette intervention.
|
||||
|
||||
**Redémarrage non effectué** : le service est PID 1 du conteneur, sans CLI Docker,
|
||||
socket Docker ou superviseur disponible. Redémarrer le conteneur existant depuis
|
||||
son gestionnaire habituel pour charger les correctifs Python et exécuter
|
||||
l'archivage. Une recréation depuis l'image d'origine effacerait ces patchs.
|
||||
Ne pas lancer le script de démarrage ou d'archivage dans le service actif.
|
||||
Après redémarrage, restent à vérifier : maintien des patchs, démarrage et connexion
|
||||
HASS, archivage et suivi mémoire unique, puis absence de rafraîchissements HASS
|
||||
répétés après le délai configuré. Aucun résultat de validation du service
|
||||
redémarré n'est affirmé ici. L'audit intégral et le diff historiques ci-dessus
|
||||
n'ont pas été régénérés pour cette intervention.
|
||||
Reference in new issue
Block a user