From afaa8c2674128b36309e7e5bbdd148e483d50e4e Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Tue, 25 Aug 2026 21:28:24 +0200 Subject: [PATCH] docs(protocole): dire ce que OPTIMIZER_PROTOCOL n'est pas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ce document décrit le lien moteur ↔ optimiseur sur socket NDJSON. Il ne décrit pas la frontière JSON-RPC de l'app, et un brief a pourtant envoyé l'agent app y chercher le namespace de LoadConfig — qui n'y est pas et n'y sera pas. La confusion a coûté une session : les deux protocoles portent du JSON-RPC, c'est leur seul point commun. Note de périmètre en tête, avec le tableau des deux frontières et le renvoi vers INTERFACE.md / nymeaenergyjsonhandler.cpp / JSONRPC.Introspect. Relevé côté app, en corrigeant CLAUDE.md contre Introspect (plugin 1.15.2+etm15). Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01XPUo3RMr8SzK6qbFtfBm8H --- docs/OPTIMIZER_PROTOCOL.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/OPTIMIZER_PROTOCOL.md b/docs/OPTIMIZER_PROTOCOL.md index 3f07148..d299078 100644 --- a/docs/OPTIMIZER_PROTOCOL.md +++ b/docs/OPTIMIZER_PROTOCOL.md @@ -10,6 +10,24 @@ Ce document fait autorité. Il sert trois usages : Statut : **draft v1** — figé à la fin de la beta. Versionné en semver (`protocolVersion`). +> ### ⚠️ Ce document ne décrit PAS la frontière JSON-RPC de l'app +> +> Le protocole ci-dessous relie le **moteur** à un **optimiseur** (couche A ↔ couche B), sur +> un socket dédié, en NDJSON. Il ne dit rien du namespace que consomme l'application +> Flutter, et n'a jamais eu vocation à le dire. +> +> **La frontière app ↔ box, c'est `NymeaEnergy.*`**, documentée dans `INTERFACE.md` et faisant +> autorité via `energyplugin/nymeaenergyjsonhandler.cpp` + `JSONRPC.Introspect` sur une box. +> +> Cette note existe parce que l'erreur a coûté une session : un brief a envoyé l'agent app +> chercher ici le namespace `LoadConfig`, qui n'y est pas et n'y sera pas. Les deux +> protocoles portent tous deux du JSON-RPC — c'est tout ce qu'ils ont en commun. +> +> | | transport | qui parle à qui | contrat | +> |---|---|---|---| +> | **Ce document** | socket NDJSON dédié | moteur ↔ optimiseur | `GetPlan(SurplusContext)` → plan par créneaux | +> | `INTERFACE.md` | WebSocket nymea, port 4444 | app ↔ box | `NymeaEnergy.*` — 20 méthodes, 14 notifications | + --- ## 1. Philosophie