docs(AGENTS): dater le paquet qui porte la grandeur, pas celui qui porte la fonction

Report de la règle déjà consignée dans CLAUDE.md (§ Règles de modification),
avec la ligne complétée du second encodage : une chaîne QStringLiteral est
stockée en UTF-16 et reste invisible à un `strings` nu.
This commit is contained in:
Patrick Schurig 2026-09-04 07:13:43 +02:00
parent 49ec3dc75c
commit 0564c47569

View File

@ -10,6 +10,20 @@ Application mobile Flutter ETM : lecture live + écrans add & config.
Objet capabilities à 4 champs : tier / optimizerExpected / optimizerAlive / activeStrategy.
4. Pas de libellé « Héos » dans la config GPL. Pas d'écran tier Auto/Predict en beta.
5. Distribution TestFlight (iOS) + APK/Play internal (Android) — pas de review store sur le chemin critique.
6. **Dater le paquet qui porte la GRANDEUR, pas celui qui porte la fonction.** La fonction et
la grandeur qu'elle consomme peuvent vivre dans deux paquets différents. Le 2026-09-04,
`dpkg -l | grep powersync-energy` répondait « `+etm53`, tout va bien » pendant que
l'étalement restait inobservable : le compteur appartient à `nymea-plugin-generic-energy`
(classe `smartMeterConsumer`), jamais reconstruit depuis le 2026-06-19. Le propriétaire se
trouve en une ligne — avec les DEUX encodages, une chaîne `QStringLiteral` étant stockée en
UTF-16 et invisible à un `strings` nu :
```bash
for so in /usr/lib/*/nymea/plugins/*.so; do
{ strings -a "$so"; strings -a -el "$so"; } | grep -qx <classe> && dpkg -S "$so"
done
```
Détail et corollaire `deploy.sh` : `CLAUDE.md` § Règles de modification, et
`../etm-powersync-energy-plugin-etm/AGENTS.md` § « Dater le paquet qui porte la GRANDEUR ».
## Déploiement live-demo