python3-Abhängigkeit entfernt (Auswertung jetzt per php -r), Exit-Code
von tests/run.php wird korrekt ausgewertet statt mit || true verworfen.
--json-Modus gibt zusätzlich keine Fortschrittsanzeige/Warnungen mehr
auf STDOUT aus, damit die JSON-Ausgabe überhaupt parsbar ist.
Steuerkram an den e2e-runner angebunden (tests/e2e/, 44 Playwright-Tests).
Der erste Smoke-Lauf fand zwei Seiten mit HTTP 500: AccountController::create
las $_GET['from'] ungeprüft, assets/form.php nutzte $testMode und
$defaultKontoId außerhalb des Bearbeiten-Zweigs. Beides war bis zur
Fehler-Härtung (#142) nur eine stille Warning.
Test 67 räumt sein Belegverzeichnis jetzt mit ab - es blieb als root-eigenes
Verzeichnis liegen und blockierte spätere echte Uploads mit HTTP 500.
Test 77 (neu) sichert die Löschsperre von Beleg::delete() ab.