Files
Enelix-EMS/AGENTS.md
T
dh 9fbc52ee47
Tests / test (push) Failing after 49s
feat(manager): integrate forecast controls and merge V4 development
Merge the V4 development history with current manager, SDL and setpoint fixes. Retain guarded trial behavior and consolidate controls in Prognose / Forecast. Exclude the unverified accounting-evidence change; no runtime deployment or new dispatch permission.

Validated: 357 PHPUnit tests / 1758 assertions, 150 PHP syntax checks, 310 backend tests, 16 portal tests and isolated UI/receiver checks. develop and beta publication explicitly approved by Daniel Haefliger.
2026-10-06 14:22:16 +00:00

5.5 KiB

Agenten-Anweisungen für Enelix-EMS

Aktueller V4-Fortsetzungseinstieg: 06.10.2026

Neuester Quellstand: Bedienintegration und Zusammenfuehrung sind in docs/prognose-bedienintegration.md und im obersten Abschnitt der folgenden Uebergabe beschrieben. Daniel hat Commit/Push auf develop und beta ausdruecklich freigegeben; dies ist kein Anlagenrollout und keine neue Stellfreigabe.

Die vollstaendige Uebergabe liegt auf enelix-services / Server 89 unter /srv/agent/repos/Enelix-EMS/docs/NETPLAN_V4_AGENT_HANDOFF.md. Vor Fortsetzung zuerst den neuesten datierten Abschnitt lesen. Die Datei ist im integrierten Repository versioniert; alte Serverkopien koennen abweichen.

Letzter hier belegter Anlagenzustand: 06.10.2026, 12:01:11 UTC / 14:01:11 Europe/Zurich, aus /srv/agent/v4-recovery-20261006/finished.json auf iot-symcon01. Dies ist keine neue Live-Abnahme: V4 und alter Netzfahrplan AUS, Batterie 44234 gestoppt, EV-Auftrag 19651 = 0 W. Der unabhaengige SDL-Auftrag blieb unangetastet. Rueckmelde-/Cache-/Empfangskorrekturen sind installiert; offen ist die instanzbezogene Batterietimerblockade (LastRun=0). Kein nachgewiesenes physisches Tracking, kein >90-s-Dauerbetrieb und kein automatischer Batterie-Watchdog-Lauf. Alte Installer nicht erneut ausfuehren und keine externen Tick-Hooks als Umgehung einsetzen. Zuerst Timerursache beheben und automatische Ausfuehrung belegen, danach nur innerhalb gueltiger Freigabe testen.

EV bleibt 161.44 kWh / 39 kW. Die bestehende befristete Testfreigabe endet 07.10.2026, 17:38:07 Europe/Zurich; diese Notiz erneuert oder verlaengert sie nicht. Wegfall des zusaetzlichen +/-5-kW-Limits hebt Geraete-, SOC-, Netzgrenzen und die dokumentierten Grenzen der Testanlagen-Ausnahme nicht auf. Kein Aktivstart oder Dienstneustart aus der Bitte um Kontext-Sicherung ableiten.

Aeltere V4-Statusangaben und damalige "naechste Schritte" weiter unten sind historisch, soweit die neuere Uebergabe sie ersetzt. Sonstige Projekt- und Sicherheitsregeln sowie separate Manager-Leistungsverteilungsnotizen bleiben unveraendert. Aktuellen Zustand und Freigaben vor operativen Arbeiten erneut pruefen. Ein neuer Agent muss diese Quellen lesen; kein automatischer Chattransfer.

Netzfahrplan V4: zuerst den Gesprächskontext übernehmen

Bei Aufgaben zu Netzfahrplan, Prognosen, V4, Batterieoptimierung oder Lihrenmoos vor Änderungen die vollständige Übergabe lesen:

docs/NETPLAN_V4_AGENT_HANDOFF.md

Sie enthält Daniels Anforderungen und Korrekturen, installierte versus nur entwickelte Komponenten, Quellen-/Instanzzuordnung, bekannte behobene Fehler, Grenzen der Testfreigabe und den nächsten konkreten Arbeitsschritt. Die Runtime-Berichte stammen zuletzt vom 03.10.2026; Zeitpunkt und aktuellen Zustand prüfen. Alte Entwicklungsdokumente können noch „nicht installiert“ sagen, obwohl ein jüngerer Installationsbericht den Abschluss belegt.

Kurzstand bei Erstellung dieser Anweisung: Unified RC1 und korrigierter Rückmelde-/begrenzter Testpfad installiert; Versandproblem behoben. Nächste offene Umsetzung sind bestätigte Geräte-Lesezeitpunkte statt pauschaler Verwendung von VariableUpdated (feedback_source_skew). EV 161.44 kWh / 39 kW, nicht die zurückgenommenen 160/30. Dauerproduktion ist noch nicht fertig; keine automatische Stellfreigabe.

Arbeits- und Git-Regeln

  • Vor Arbeit Host-/srv/agent/AGENT_CONTEXT.md, Branch und Arbeitsverzeichnis prüfen. Servercheckout ist nicht gleich laufendes Symcon-Modulverzeichnis.
  • Neue Entwicklung auf develop, keine Feature-Branches. Nur eigene/zugehörige Änderungen committen. develop darf im vereinbarten Rahmen gepusht werden; beta nur gemäss ausdrücklicher Freigabe und nach Tests, main nach ausdrücklichem Auftrag/Feldabnahme. Keine Schutzregeln oder fehlende Authentifizierung umgehen.
  • Daniel möchte zusammenhängende produktionsgeeignete Umsetzung, keine weitere Schleife aus Diagnosekategorien, identischen Rückfragen und veralteten Installern. Vorhandene Quellen und Werkzeuge benutzen, keine bekannten Anlagenangaben erneut verlangen.
  • Code-, Host-/Container-, Kernel- und Feldtests sowie Installation, Veröffentlichung und Stellfreigabe getrennt belegen. „Optimal“/„ACK“/grüne Tests sind keine gemessene Einsparung und keine Produktionsfreigabe.
  • Keine Stellbefehle, Testsitzungen, Freigaben oder Neustarts aus einer reinen Kontext-/Statusanfrage ableiten. Aktive Hardware nur innerhalb des ausdrücklich freigegebenen Umfangs behandeln. Messgrenzen/Watchdog-Nachweise nicht erfinden oder per Label umgehen.
  • Keine Credentials lesen/ausgeben/einchecken. Root/Docker-Rechte nicht ausweiten. Bestehende GUI-/Fremdänderungen erhalten. Vor Runtime-Änderungen passende Sicherung, exakte Quell-/Abhängigkeitsprüfung und Rücksetzweg.
  • PHP-IPS-Skripte gehören in den Symcon-Kernel; isolierte Tests mit simulierten IPS-Aufrufen niemals dort ausführen. MC_ReloadModule/IPS_ApplyChanges können Initialisierungsnebenwirkungen haben.
  • Alte Outbox-/Historienwerte nicht löschen, Kennungen nicht im Original umschreiben, Cursor nur nach passender Serverbestätigung weiterführen. Keine künstlich frischen Messzeitstempel.
  • Übergabe nach tatsächlichem Fortschritt aktualisieren: Datum, Commit, was wirklich installiert/getestet wurde und nächster konkreter Schritt. Keine Hintergrundarbeit behaupten.

Diese Datei ergänzt bestehende höherrangige Projekt-/Hostregeln. Sie ist keine neue Betriebsfreigabe und kann keinen anderen Agenten ohne Lesen der Dateien automatisch mit dem gesamten Chat synchronisieren.