Trading-Plattform-Pruefung: Nachtrag nach der kritischen Pruefung (Paket NR, Task 746) und LIESMICH (Task 745)

abendkontrolle.py: Die Unterzeile zu einer nicht geschriebenen Ergebnisdatei sagt nur
noch, wann ein spaeterer Lauf ohne --tag den Tag erneut prueft (Werktag ab dem ersten
Prueftag des Teils, hoechstens NACHHOLEN_TAGE zurueck, unter dem Namen der Datei nichts);
der Docstring nennt den Fall ohne lauf.log. Treiber zieht den Wortlaut nach (46 Faelle,
70 Mutanten, keiner ueberlebt; Windows-Teil ohne Abweichung). LIESMICH: Abschnitt
Paket NR, Grenze im Abschnitt NT ersetzt. Vault-Teil von 746 aus der Plankopie
uebernommen, byte-gleich (Beginn 23:44:58, die Windows-Aufgabe war deaktiviert).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0126RDfXiECscXipzf67uypJ
This commit is contained in:
Pascal MichelandClaude Opus 5.5 committed 2026-10-12 23:48:53 +02:00
1 parent 94f6dfeeeb
commit 3a38cb7e83
3 files changed
+41 -11

No files matched your search

@@ -17,7 +17,9 @@ die mit "## Agentenprotokoll" beginnt.
- Scheitert nur die Notiz (etwa eine Datei, die kein UTF-8 ist), bleibt es bei der Ergebnisdatei und
einer Zeile in lauf.log: Die Kontrolle ist gelaufen und hat ihre Meldung schon geschickt; ein zweiter
Lauf schickte sie nur noch einmal.
- Ein Tag, der laenger als NACHHOLEN_TAGE scheitert, faellt aus dem Fenster (lauf.log behaelt ihn).
- Ein Tag, der laenger als NACHHOLEN_TAGE scheitert, faellt aus dem Fenster. lauf.log behaelt ihn, solange es
sich schreiben laesst; sonst bleiben nur seine Zeilen "gescheitert" in der Notiz seines Tags, soweit sie sich
schreiben liessen, und die Zeile zu lauf.log in der Notiz von heute (kritische Pruefung NR, Task 746).
Seit Paket IB2 zwei Teile je Tag, nacheinander: alpaca wie oben, dann ibkr (abendkontrolle_wsl.py
--teil ibkr) mit eigener Ergebnisdatei <tag>-ibkr.json, eigener Zeile "Abendkontrolle IBKR" in
derselben Notiz und eigenem Nachholen ab IBKR_ERSTER_TAG. --teil nimmt nur einen Teil; mit
@@ -747,8 +749,10 @@ def fahre_teil(teil: str, tage: list[str], jetzt: datetime, vault: Path, ablage:
# Seit Paket NR (Plankritik NR): Liess sich die Ergebnisdatei nicht schreiben, flog die Ausnahme vorher
# aus fahre_teil, und es fehlten die Zeile dieses Tages und die aller folgenden Tage des Teils. Jetzt
# bekommt die Zeile eine Unterzeile mit dem Typ der Ausnahme, die folgenden Tage laufen weiter, Exit 1.
# Ob der naechste Lauf den Tag erneut prueft, entscheidet faellige_tage: nur im Fenster und nur, wenn
# unter dem Namen der Datei nichts liegt, auch keine halb geschriebene Datei.
# Ob ein spaeterer Lauf ohne --tag den Tag erneut prueft, entscheidet faellige_tage: nur einen Werktag ab
# ERSTER_TAG bzw. IBKR_ERSTER_TAG, hoechstens NACHHOLEN_TAGE zurueck, und nur, wenn unter dem Namen der
# Datei nichts liegt, auch keine halb geschriebene Datei. Einen Tag, den nur --tag erreicht (Wochenende,
# vor dem ersten Tag, aelter als das Fenster), prueft kein Lauf von selbst erneut (kritische Pruefung NR).
zusatz = ""
if ergebnis.get("exit") != 2:
try:
@@ -759,9 +763,10 @@ def fahre_teil(teil: str, tage: list[str], jetzt: datetime, vault: Path, ablage:
code = 1
logge(ablage, f"{vorsatz}{tag}: Ergebnisdatei nicht geschrieben {ausnahme!r}")
zusatz = (
f"\n - Ergebnisdatei nicht geschrieben ({type(ausnahme).__name__}) #needs-review. Der nächste "
"Lauf prüft den Tag erneut, wenn er dann noch im Nachholfenster ist und unter dem Namen der "
"Datei nichts liegt, auch keine halb geschriebene."
f"\n - Ergebnisdatei nicht geschrieben ({type(ausnahme).__name__}) #needs-review. Ein späterer "
"Lauf ohne --tag prüft den Tag nur erneut, wenn er ein Werktag ab dem ersten Prüftag des Teils "
f"ist, höchstens {NACHHOLEN_TAGE} Kalendertage zurückliegt und unter dem Namen der Datei nichts "
"liegt, auch keine halb geschriebene. Sonst prüft ihn kein Lauf von selbst."
)
else:
code = 1