Nachlauf-Abzug nur, wenn das Trip-Element ihn erzeugt (2026.9.1.9)

_echtes_ende() zog NACHLAUF_S bedingungslos ab. Richtig, solange die Fahrten
vom Trip-Signal ausgeloest werden - aber verlauf.fahrtsignal() faellt auf die
Zuendung zurueck, wenn TRIP_SENSOR nicht zugeordnet ist, und die hat keinen
Nachlauf. Jede Fahrt haette fuenfzehn Minuten verloren, jede kuerzere waere
ganz verschwunden.

Genau die Konstellation, in die eine bestehende Installation nach dem Update
ohne Zutun laeuft: die neue Rolle ist leer, bis jemand sie zuordnet. Gefunden
beim Durchdenken des Update-Wegs fuer die reale Instanz, nicht durch einen
Fehlerbericht.

Nachgewiesen: TRIP_SENSOR geleert, Zuendung fuenf Minuten an -> Fahrt mit
300 s angelegt statt verworfen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 12:24:50 +02:00
parent 3cd9e6149b
commit 0124254ea9
5 changed files with 31 additions and 4 deletions
+19 -1
View File
@@ -1,6 +1,7 @@
# AGENTS.md — Project state, review findings, open items, and working rules
**Last updated: 2026-09-01** („502" beim Neustart entschärft, OTA-Bündel auf `2026.9.1.8`
**Last updated: 2026-09-01** (Nachlauf-Abzug nur mit zugeordnetem `TRIP_SENSOR`, `2026.9.1.9`;
davor „502" beim Neustart entschärft, OTA-Bündel auf `2026.9.1.8`
nachgezogen, Abschnitt BC. Davor: „Geparkt seit" kommt von der Zündung und wird nach einem Neustart
aus der Aufzeichnung nachgeholt, Manifest `2026.9.1.7`,
Abschnitt BB. Davor: GNSS-Streckenrollen vorbereitet, `2026.9.1.5`, Abschnitt BA.
@@ -6545,6 +6546,23 @@ Einstellungen, darunter `trip_scenario.ign_off_timeout`), aber dafür bräuchte
einen zweiten Zugang samt Token; sie liest heute ausschließlich Telemetrie. Verworfen als
unverhältnismäßig.
### Nachtrag (2026.9.1.9): der Nachlauf gilt nur, wenn das Trip-Element ihn erzeugt
`_echtes_ende()` zog `NACHLAUF_S` bedingungslos ab. Das ist richtig, solange die Fahrten vom
Trip-Signal ausgelöst werden — aber `verlauf.fahrtsignal()` fällt auf die **Zündung** zurück, wenn
`TRIP_SENSOR` nicht zugeordnet ist, und die hat keinen Nachlauf.
In dieser Konstellation hätte jede Fahrt fünfzehn Minuten verloren und jede kürzere wäre ganz
verschwunden — der Klemmzweig hätte sie auf Dauer 0 gesetzt und `MINDESTDAUER_S` verworfen. Genau
die Konstellation, in die eine bestehende Installation nach dem Update ohne Zutun läuft: die neue
Rolle ist leer, bis jemand sie zuordnet.
`if not k.zuordnung.werte.TRIP_SENSOR: return signal_ende`. Gefunden beim Durchdenken des
Update-Wegs für die reale Instanz, nicht durch einen Fehlerbericht.
Nachgewiesen: `TRIP_SENSOR` geleert, Zündung fünf Minuten an → Fahrt mit **300 s** angelegt statt
verworfen. Mit gesetztem `TRIP_SENSOR` bleibt der Abzug wie in Abschnitt AZ nachgewiesen.
### Die Gegenprobe meldet, statt zu korrigieren
`_nachlauf_gegenpruefen()` vergleicht das gerechnete Ende mit dem letzten beobachteten