Streng bauen, tolerant rendern
Fehler werden an zwei Stellen völlig unterschiedlich behandelt — mit Absicht.
| Phase | Verhalten | Begründung |
|---|---|---|
| Build (npm run build) | Blockiert bei jedem Verstoß (Exit ≠ 0) | Ein kaputter Baustein darf nie in die Registry |
| Publish (Gates) | Blockiert: unbekannte Definitionen, Prop-/Slot-Verstöße, Pflicht-Slots leer, ungepinnte Migrationen, Limits | Was publiziert ist, ist nachweislich gültig |
| Laufzeit (Renderer) | Toleriert: Fallback-Ausgabe + Warnung im Trace, nie ein Fatal | Eine halb kaputte Seite ist besser als eine weiße — Besucher bestrafen wir nicht für Datenfehler |
Konkret heißt tolerant: ungültiger Enum-Wert → Default mit Log; unbekannte Definition → sichtbarer Fallback-Kasten statt Absturz; Slot-Regel-Verstoß → Inhalt wird gerendert, Warnung im Trace; Renderer-Exception → Fallback nur für diesen Node.
Jeder Render erzeugt einen Trace (Request-ID, Node-Zahl, Dauer, Cache-Status, Warnungen) — als Debug-Chrome bzw. Diagnose sichtbar.