- makeCustomerForShowPhase8a() nach tests/Pest.php — die Suite läuft damit
auch parallel (--parallel) und dateiweise grün
- phpunit.xml leert DB_URL, der Guard in TestCase::setUpTraits() bricht bei
gesetzter url ab, bevor RefreshDatabase eine Verbindung öffnet
- HasUniqueSlug ohne widersprüchliche @var-Annotation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Tests\TestCase prüft die Standardverbindung in setUpTraits(), also vor
RefreshDatabase — bisher erst nach dem Refresh (N22). Eigener Test.
- phpunit.xml pinnt IMAGE_RIGHTS_V2, IMAGE_PRECHECK(_STAGE) und
LEGAL_ACCEPTANCE_GATE auf die Vorgaben aus .env.example; die Suite hing
sonst an der lokalen .env (Audit Abschnitt 6).
- Zustimmungsgate: die Livewire-Komponenten tragen die beim Rendern gezeigten
Fassungen (Trait-Hook rendering); weicht die aktuelle Fassung beim Absenden
ab, wird die Annahme abgelehnt und der neue Wortlaut gezeigt. Ein fehlendes
Pflichtdokument ist bei aktivem Gate ein Konfigurationsfehler (N06).
- Audit vom 25.09., Decision-Update vom 22.09. und Plan Fassung 2 versioniert;
die Antwortkopie „…-211.md" entfernt; U10-Formulierung im Plan präzisiert.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- config/logging.php: Themen-Channels billing, ki, monitoring, market als
daily-Dateien mit gemeinsamer Aufbewahrung (LOG_DAILY_DAYS), Stack-Default
auf daily; Channel `testing` für die Suite.
- Fachliche Log-Aufrufe in Billing, KI-Jobs, OperationalAlert und
Kursdaten auf Log::channel() umgestellt.
- phpunit.xml + TestCase: Suite schreibt ausschließlich nach
testing-YYYY-MM-DD.log; LogChannelsTest sichert die Konfiguration.
- docs/weiteres: Decision-Update Duplicate-Content entfernt (überholt durch
Roadmap-Anhang 2), Decision-Update Verlinkung & Backlinks als Referenz
wieder abgelegt, README-Index nachgezogen.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Befund aus 151 echten Rücklaeufern: 2 SmarterMail-DSNs
(message/global-delivery-status) und 2 Freitext-Hinweise des eigenen
Relays (X-KASMail-Error, formal auto-replied) fielen durch. Policy- und
Quota-Codes zaehlen weich statt hart. Abruf ohne UNSEEN-Filter, weil
das Verschieben die Zustandsmarke ist.
Dazu Schutz in tests/TestCase.php: Suite bricht ab, wenn ein Config-Cache
sie auf die Dev-Datenbank umlenkt.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>