Automatischer Push: 46 Datei(en) geändert
- .claude/agents/planer.md - .claude/skills/plan-executer-pruefung/SKILL.md - .claude/workflows/plankritik.js - .claude/workflows/planung.js - .claude/workflows/pruefung.js - .claude/workflows/verbrauch.js - .claude/workflows/welle-mit-pruefung.js - .vault-tools/plan-kopie/LIESMICH.md - .vault-tools/plan-kopie/plan_zeichen.py - .vault-tools/plan-kopie/rot_nachweis.py - .vault-tools/trading-plattform-pruefung/LIESMICH.md - .vault-tools/trading-plattform-pruefung/abendkontrolle.py - … und 34 weitere Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
67d674cd0b
commit
ea278dc24f
46 files changed
+8403
-80
No files matched your search
@@ -0,0 +1,54 @@
|
||||
"""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 <projektordner>
|
||||
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())
|
||||
Reference in new issue
Block a user