6fcce1a470feat(tools): etm-powersync-ref-optimizer, optimiseur de référence 1.1 (brief 4 T7, annexe E)
Patrick Schurig
2026-10-17 13:16:43 +02:00
693e01579ffix(optimiseur): un token recopié par l'optimiseur ne sort par aucun journal (brief 4 T7, correctif A)
Patrick Schurig
2026-10-17 13:10:15 +02:00
10683744d2test(traces): le traceur n'apparie une réponse qu'à la ligne de sa requête (brief 4 T6)
Patrick Schurig
2026-10-17 12:24:02 +02:00
6c44a4e091docs(traces): INTERFACE.md (réglage, RPC, format, fichiers, plafond), protocole annexe D (brief 4 T6)
Patrick Schurig
2026-10-17 12:12:25 +02:00
64a864bfaafeat(tools): etm-powersync-trace-replay, rejeu des traces vers un optimiseur (brief 4 T6)
Patrick Schurig
2026-10-17 12:12:25 +02:00
483bbcb027feat(traces): traces de décision NDJSON, une ligne par cycle (brief 4 T6, annexe D)
Patrick Schurig
2026-10-17 12:12:25 +02:00
1f6c7ec27arefactor(plan): le plan rule-based porte strategy « rules », comme activeStrategy (brief 4 T6)
Patrick Schurig
2026-10-17 11:46:36 +02:00
e5926189e9fix(optimiseur): token déclaré String, type contrôlé par le moteur ; GetPlan sous verrou (brief 4 T4)
Patrick Schurig
2026-10-17 09:47:09 +02:00
7a32961b23docs(optimiseur): INTERFACE.md (état, réglage, plan publié), protocole §4/§7/§8 (brief 4 T4)
Patrick Schurig
2026-10-17 09:34:39 +02:00
c1ce67942cfeat(optimiseur): machine de repli §7, état et plan publiés vers l'app (brief 4 T4)
Patrick Schurig
2026-10-17 09:34:39 +02:00
696cb001f1test(decisions): référence régénérée après le correctif c (etm71)
Patrick Schurig
2026-10-17 01:55:14 +02:00
c391d13312test(decisions): comparateur étendu à purchasedWh (--achat) et liste des lignes (--lignes)
Patrick Schurig
2026-10-17 01:51:21 +02:00
c81c7b6225fix(optimiseur): pv.currentW publié dès qu'un smartmeterproducer existe, pas seulement un solarinverter
Patrick Schurig
2026-10-17 01:51:21 +02:00
6481515b64fix(moteur): « acheté » compté sur l'énergie mesurée, pas sur la consigne (correctif c)
Patrick Schurig
2026-10-17 01:51:21 +02:00
ff7c8011e2feat(optimiseur): SocketScheduler — le plan d'un optimiseur appliqué par le chemin commun (brief 4 T3)
Patrick Schurig
2026-10-16 22:06:45 +02:00
a8c58d02f0feat(optimiseur): validateur pur du plan d'un optimiseur — OptimizerPlan (brief 4 T3)
Patrick Schurig
2026-10-16 22:06:33 +02:00
7597c87e58test(optimiseur): faux optimiseur de T2 extrait dans un en-tête partagé
Patrick Schurig
2026-10-16 22:06:17 +02:00
26c0e02118docs(doxygen): 0 avertissement — membres non documentés et balise échappée (DoD §5)
Patrick Schurig
2026-10-16 21:01:44 +02:00
f2f65980b3test(decisions): référence régénérée après les correctifs a et b (etm70)
Patrick Schurig
2026-10-16 20:53:05 +02:00
cfa4ad9c6btest(decisions): comparateur « identique hors motifs » pour les lots qui ne changent que des motifs
Patrick Schurig
2026-10-16 20:24:29 +02:00
e6bc32dc85fix(moteur): ECO_FLOOR_MISSED dit, journalisé et notifié ; livré de clôture complet (correctif b, etm70)
Patrick Schurig
2026-10-16 20:16:13 +02:00
e6ee513dccfix(moteur): le motif publié décrit l'action fusionnée (correctif a, etm70)
Patrick Schurig
2026-10-16 20:11:51 +02:00
92f13cf677test(decisions): réseau privé par processus (--unshare-net) dans run-decisions.sh
Patrick Schurig
2026-10-16 19:54:25 +02:00
a280820138merge: brief 4 T2 (client de transport) dans feature/forecast-protocol-1.1
Patrick Schurig
2026-10-16 19:02:38 +02:00
7044b4cd07fix(optimiseur): pas de puissances de cycle sous declared pour une borne (brief 4 T1)
Patrick Schurig
2026-10-16 16:21:48 +02:00
50a1f91febfeat(motifs): OPTIMIZER_DECISION, PRICE_SLOT, knownCodes() et liste blanche optimiseur (brief 4 T5)
Patrick Schurig
2026-10-16 16:21:11 +02:00
0fdbede6c3feat(optimiseur): client de transport unix/tcp vers l'optimiseur (brief 4 T2)
Patrick Schurig
2026-10-16 16:12:18 +02:00
96148b9153feat(prévision PV): GetForecastSnapshot publie les corrections par plan (perField, D2)
Patrick Schurig
2026-10-13 06:48:11 +02:00
5468192cf8docs(prévision PV): conversion — fallback retiré, physics seule valeur émise (D1)
Patrick Schurig
2026-10-13 06:39:38 +02:00
f05d4c6629docs(prévision PV): §29 — ems lit la v2 et plafonne le site (état après brief 3 T1)
Patrick Schurig
2026-10-12 12:59:27 +02:00
6b66d49f27feat(prévision PV): lire forecastCurveTransport v1 ET v2, plafond AC de site (brief 3, T1)
Patrick Schurig
2026-10-12 12:59:27 +02:00
a23161b3b6feat(spot): le fournisseur aWATTar sort du build livré (brief 3, T0)
Patrick Schurig
2026-10-12 12:48:27 +02:00
9574d4b266[upstream-fix] SpotMarketManager::setEnabled : refuser plutôt que déréférencer un fournisseur nul
Patrick Schurig
2026-10-12 12:36:59 +02:00
a45b10b457docs(prévision PV): §28 — v: 2 est décidé, plus une hypothèse
Patrick Schurig
2026-10-12 12:25:54 +02:00
89b78c6cf5docs(prévision PV): §28 — décisions du 2026-10-12
Patrick Schurig
2026-10-12 08:20:54 +02:00
c78dbfc318docs(protocole): OPTIMIZER_PROTOCOL passe en v1.1 figée
Patrick Schurig
2026-10-12 08:18:07 +02:00
a787a5c476docs(prévision PV): « 20 kWh » était vrai et illisible — une énergie sans sa période
feature/beta-rulebased
Patrick Schurig
2026-09-09 10:44:58 +02:00
9044216faafeat(prévision PV): GetForecastSnapshot — la table ou la décision, jamais les deux
Patrick Schurig
2026-09-09 09:22:00 +02:00
bb15465109docs+test: le contrôle qui disparaît avec ce qu'il surveille, et l'optionnel jamais exercé
Patrick Schurig
2026-09-09 08:57:49 +02:00
c02807c56dtest(RPC): balayage des getters — et la contre-épreuve a corrigé mon diagnostic
Patrick Schurig
2026-09-09 08:43:19 +02:00
1298b30df6release: 1.15.2+etm65 — le RPC répond de nouveau, et la courbe courante est la bonne
Patrick Schurig
2026-09-09 08:21:28 +02:00
ca0e4727cafix(prévision PV): le RPC ne rendait plus rien, et la courbe courante était la mauvaise
Patrick Schurig
2026-09-09 08:21:10 +02:00
050b82791fdocs(prévision PV): la somme vérifiée, et une configuration qui ressemble à une révision
Patrick Schurig
2026-09-09 08:10:33 +02:00
7641d4da5drelease: 1.15.2+etm64 — dégel de la courbe, clé de contenu, et la règle de fusion écrite
Patrick Schurig
2026-09-09 07:56:31 +02:00
787401ffbefix(prévision PV): la clé devient LE CONTENU — issuedAt n'identifie pas la courbe
Patrick Schurig
2026-09-09 07:54:45 +02:00
12ac837230release: 1.15.2+etm63 — prévision PV, désignation du site, immuabilité du run
Patrick Schurig
2026-09-09 07:24:16 +02:00
2984d1ba87fix(prévision PV): un RUN est immuable — écrasure silencieuse trouvée sur le banc
Patrick Schurig
2026-09-09 07:23:42 +02:00
c55f1ec73afix(prévision PV): aucune adoption d'office — le motif rend le silence acceptable
Patrick Schurig
2026-09-09 06:49:46 +02:00
7a11e97380feat(prévision PV): migration — désigner d'office quand il n'y a rien à choisir
Patrick Schurig
2026-09-09 06:34:02 +02:00
2fe3986c33feat(prévision PV): la prévision est une propriété du SITE — désignation globale et somme des plans
Patrick Schurig
2026-09-09 06:17:58 +02:00
0cb0e2bffefix(prévision PV): une clé de run inconnue se REFUSE, et ne se devine jamais
Patrick Schurig
2026-09-09 06:06:53 +02:00
c581631e86release: 1.15.2+etm62 — la table de prévision PV et la lecture du canal
Patrick Schurig
2026-09-09 05:58:11 +02:00
22ad60cd06feat(prévision PV): la fraîcheur ne date jamais la prévision, et elle n'est jamais absente
Patrick Schurig
2026-09-09 05:56:18 +02:00
606b6d92d9feat(prévision PV): version B — une révision n'existe que si la prévision a changé
Patrick Schurig
2026-09-08 19:55:38 +02:00
139d686302feat(prévision PV): la clé devient VRAIE, et la déduplication cesse de rejeter
Patrick Schurig
2026-09-08 19:14:18 +02:00
1b807614d6docs(relevé): le contexte AVEC le décompte, et la prochaine question reformulée
Patrick Schurig
2026-09-08 19:03:34 +02:00
38538bb653docs(relevé): fenêtre du 2026-09-08 — 10 bruts, 2 retenus, et la décision reste ouverte
Patrick Schurig
2026-09-08 18:01:02 +02:00
61f0b9ccbcfeat(prévision PV): la table bitemporelle, la déduplication sur l'intersection, la rétention
Patrick Schurig
2026-09-08 17:23:35 +02:00
9de6d8a679docs(inventaire): le sixième manque sous sa forme réelle — un instrument valide sur quatre
Patrick Schurig
2026-09-08 17:09:16 +02:00
bad80cb22ddocs(prévision PV): la clé de révision — déduplication, et receivedAt s'appelle receivedAt
Patrick Schurig
2026-09-08 17:02:46 +02:00
56312a7585docs(prévision PV): le canal — trois grandeurs mesurées, et le précédent ne couvre pas ce lot
Patrick Schurig
2026-09-08 16:49:22 +02:00
5499e88ac3docs(prévision PV): BLOQUÉ — le découpage contredit l'invariant « ZÉRO cloud »
Patrick Schurig
2026-09-08 16:35:11 +02:00
273a97a5b5docs(design): la prévision PV est une série RÉVISÉE — table bitemporelle
Patrick Schurig
2026-09-08 16:30:25 +02:00
3df36596c1docs: trois modes tranchés, et les transitions de dérogation sont écartées du tri
Patrick Schurig
2026-09-08 12:09:03 +02:00
02a9d1a0cadocs(relevé): second essai — de 9 A à 20 A, le double écrêtage était bien la cause
Patrick Schurig
2026-09-08 12:00:03 +02:00
c361494dfefix(dérogation): une borne n'est pas écrêtée deux fois, et un mode écrit la termine
Patrick Schurig
2026-09-08 11:43:39 +02:00
f2c2fb083efix(dérogation): setChargingInfo déclenche un update — pose après, restitution différée
Patrick Schurig
2026-09-08 10:52:04 +02:00
e60c52f704feat(§15): le boost est une DÉROGATION — servie au maximum, et qui s'efface
Patrick Schurig
2026-09-08 10:31:00 +02:00
a0f26c7b49docs: protocole du relevé du 2026-09-08, écrit avant la mesurePatrick Schurig2026-09-08 06:22:01 +02:00
5b60acaab5docs(dérogation): une cible qui cesse d'être mesurable termine la dérogationPatrick Schurig2026-09-08 06:15:34 +02:00
0fac078c34docs(dérogation): la cible se dit en ÉNERGIE, et la fin par SOC disparaît du designPatrick Schurig2026-09-08 06:09:16 +02:00
0ec086b217docs: le boost est une DÉROGATION, pas un mode — design et règlePatrick Schurig2026-09-07 16:41:47 +02:00