"""Fragt pruefe_register (Paket AF) gegen ein Killswitch-Register, nur lesend. Koordinator-Werkzeug, nicht fuers Repo (2026-09-24, Befund der AF-Pruefung: das Drehbuch hatte fuer die Registerpruefung nur eine Erwartung in Prosa). Oeffnet data/registry.db mit mode=ro -- die Klasse Registry fuehrt beim Oeffnen das Schema aus und schriebe damit in die Datei --, baut Zustand und Ereignisse als einfache Objekte und ruft die echte Funktion trading.paper.auto_fortsetzen.pruefe_register des Projekts. Druckt den Befund und die juengsten Ereignisse (Stufe, Ausloeser, Zeit), nie einen Betrag. Was es nicht sieht: Konto, Spielgeld, Uhr und Schalter -- das pruefen Sitzung und vorstart_pruefung.py. Vor der Oeffnung am Handelstag steht der Killswitch nach dem Dashboard-Neustart auf angehalten/neustart; davor (etwa nach Pascals Klick am Vortag) ist "steht auf aktiv" der erwartete Befund, kein Fehler. Aufruf (WSL, im Projektordner): ~/venvs/trading/bin/python af_registerprobe.py Exit 0: erfuellt, 1: nicht erfuellt, 3: Register fehlt. """ import sqlite3 import sys from pathlib import Path from types import SimpleNamespace def main(argv=None) -> int: argumente = sys.argv[1:] if argv is None else argv projekt = Path(argumente[0] if argumente else ".").resolve() db = projekt / "data" / "registry.db" if not db.is_file(): print(f"ABBRUCH: {db} fehlt") return 3 sys.path.insert(0, str(projekt)) from trading.paper.auto_fortsetzen import pruefe_register verbindung = sqlite3.connect(f"file:{db}?mode=ro", uri=True) try: zeile = verbindung.execute("select zustand, ausloeser from killswitch_zustand").fetchone() ereignisse = [ SimpleNamespace(id=nummer, stufe=stufe, ausloeser=ausloeser, zeit=zeit) for nummer, stufe, ausloeser, zeit in verbindung.execute( "select id, stufe, ausloeser, zeit from killswitch_ereignisse order by id" ) ] finally: verbindung.close() gespeichert = None if zeile is None else SimpleNamespace(zustand=zeile[0], ausloeser=zeile[1]) befund = pruefe_register(gespeichert, ereignisse) print(f"Zustand: {zeile}") for ereignis in ereignisse[-4:]: print(f" Nr. {ereignis.id}: {ereignis.stufe} von {ereignis.ausloeser}, {ereignis.zeit}") print(f"pruefe_register: {'erfuellt' if befund.erfuellt else 'NICHT erfuellt'} -- {befund.grund}") return 0 if befund.erfuellt else 1 if __name__ == "__main__": sys.exit(main())