docs(protocole): dire ce que OPTIMIZER_PROTOCOL n'est pas

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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XPUo3RMr8SzK6qbFtfBm8H
This commit is contained in:
Patrick Schurig 2026-08-25 21:28:24 +02:00
parent 4166fb3f2a
commit afaa8c2674

View File

@ -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