From f05d4c662962bcb7c209684873cbfae47fbe2576 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Mon, 12 Oct 2026 12:59:27 +0200 Subject: [PATCH] =?UTF-8?q?docs(pr=C3=A9vision=20PV):=20=C2=A729=20?= =?UTF-8?q?=E2=80=94=20ems=20lit=20la=20v2=20et=20plafonne=20le=20site=20(?= =?UTF-8?q?=C3=A9tat=20apr=C3=A8s=20brief=203=20T1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/DESIGN_PREVISION_PV.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/DESIGN_PREVISION_PV.md b/docs/DESIGN_PREVISION_PV.md index 26d99b7..49940fe 100644 --- a/docs/DESIGN_PREVISION_PV.md +++ b/docs/DESIGN_PREVISION_PV.md @@ -1352,3 +1352,25 @@ pas un état du code.* > (brief 2 ; règle : `v` est incrémenté à tout changement de forme). Tant que ce dépôt n'a pas > appris à lire la v2, `ForecastStore::depuisTransport()` la **refuse** (`VERSION_2`) : l'ordre de > livraison est imposé — le lecteur (`ems`, v1 et v2) est déployé **avant** le producteur. Le plafond AC de site est du travail **`ems`**. + +## 29. `ems` lit la v2 et plafonne le site — brief 3 T1 (2026-10-12) + +*État du code, pas une décision nouvelle : la mise en œuvre des décisions 2 et 5 du §28, côté +`ems`. Contrat : `INTERFACE.md`, section « Prévision PV ».* + +- **Le prérequis du §28 est levé** : `ForecastStore::depuisTransport()` lit **v1 et v2**. Une + autre version reste refusée (`VERSION_`). En v2, `corrections` est une liste obligatoire ; + une correction inconnue refuse le plan (`CORRECTION_`) au lieu d'être ignorée — `p` porterait + un effet qu'on ne sait pas nommer. `ac-limit` annoncé par un **plan** est refusé au même titre : + il appartient au site, et serait appliqué deux fois. +- **Le plafond AC vit dans la désignation de site** (`Get/SetForecastSite`, `acLimitW`, absent = + aucun plafond, jamais 0) et s'applique **après la somme**, dans une fonction unique — + `ForecastStore::sommerPlans()` — que la table et le snapshot partagent. La somme exige désormais + aussi la **même grille** (`step`) : sans elle, le plafond `W × pas` n'a plus de période. +- **Plans aux corrections différentes** : la courbe annonce leur **intersection**. C'est la seule + affirmation vraie sur une somme dont un plan n'est pas corrigé. +- **La table enregistre la courbe plafonnée.** Conséquence : changer `acLimitW` y crée une + révision qui est une **configuration**, exactement la famille du §22.2. L'enregistrement par plan + et par pas (brief 3 T2) portera les paramètres en vigueur ; c'est lui qui rendra la cause lisible. +- **`conversion` vaut toujours `physics`.** Aucun émetteur de `fallback` n'existe dans ce dépôt, et + le dépôt ne définit nulle part ce qu'il désignerait — point laissé ouvert, pas deviné.