From 13d9640130d534e57d3582e68bf606df8ff8a499 Mon Sep 17 00:00:00 2001 From: Tallagrand Thierry Date: Fri, 25 Sep 2026 01:42:57 +0200 Subject: [PATCH] =?UTF-8?q?HANDOFF=20=C2=A779=20:=20bilan=20de=20la=20migr?= =?UTF-8?q?ation=20de=20l'agent=20vocal=20vers=20les=20capteurs-verdict?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z --- HANDOFF.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/HANDOFF.md b/HANDOFF.md index 87b7e4f..2c3b8b2 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -568,5 +568,39 @@ point d'entree vocal => le vocal reste a l'agent par defaut (maison). Serveur Spark `max-batch-size 1` : requetes serialisees, aucun gain de debit. Retenu : pas d'agent d'accueil (double la latence, aiguillage faillible), un fil par agent. +### Bilan final de la migration (25/09, ~02:00) +La partie energie de la fiche OpenClaw ne CALCULE plus rien : elle relaie des +etats et des explications. Fiche 28 247 -> **27 006 car** (marge ~3 000 sous le +plafond de 30 000), backup conserve cote SPARK. **Banc complet 15/15**, et +7 passages sur chaque cas migre : G5, G6, G7, G7b, G7c, G9, G13b = 7/7. + +| question de l'agent | il lit | avant | +|---|---|---| +| bridage ou substitution ? (G3-G5) | `sensor.evcs_pv_diagnostic` (etat) | jugeait l'import et les modes | +| reste-t-il du solaire a capter ? (G7) | `sensor.evcs_pv_diagnostic` (etat) | comptait limited/off (faux la nuit) | +| production du jour (G1/G9) | `sensor.evcs_production_jour_kwh` | sommait trois capteurs | +| la voiture peut-elle charger ? (G6) | `sensor.evcs_charge_solaire` | calculait PV − conso | +| reste a produire (G2) | `sensor.energy_production_today_remaining` | soustrayait prevision − realise | +| detail cellule (G13) | `sensor.evcs_cellules` | lisait des helpers qui gardaient la valeur perimee | + +Correspondance « reste a capter », a ne pas remplacer par l'attribut brut +`mppt_bridés` (qui vaut 0 quand les modes sont illisibles et ferait dire « non » +avec assurance) : `bridage_normal` -> oui · `substitution_edf` -> oui + anomalie +a signaler · `ressource_limitee` / `reseau_en_appoint` / `pas_de_production` -> +non · `indetermine` -> « je ne peux pas le dire ». Verrouille par G7c. + +Reste dans la fiche, volontairement : G8 (ne jamais lire un compteur GX comme un +delta) — une interdiction, pas un jugement ; P1 et P3 retirent a l'agent toute +raison de lire ces compteurs. + +⚠️ **Doctrine a garder pour toute evolution de l'agent** : quand une reponse +depend d'un raisonnement sur des mesures, le calcul va dans +`tools/diagnostics-agent.mjs` (fonction pure + test + mutation) et l'agent +relaie l'etat. Une regle en prose est fragile : un ajout sans rapport ailleurs +dans la fiche l'a fait basculer (G5, 7/7 -> 1/7). Et quand une decision existe +deja ailleurs (controleur EVCS), l'agent la RELAIE, il ne la recalcule jamais. +Limite connue : si le service d'historisation meurt, les quatre capteurs se +figent ; l'agent verifie `sensor.evcs_historisation_heartbeat`. + --- -*Document mis a jour le : 25/09/2026 — quatre capteurs-verdict pour l'agent vocal, cadrage multi-agents* +*Document mis a jour le : 25/09/2026 — agent vocal : la partie energie relaie des capteurs-verdict (banc 15/15), cadrage multi-agents*