Error handling should preserve platform semantics and keep route failures visible.
Return clear status codes and response bodies from API boundaries.
Keep component fallback states local and inspectable.
Treat generation failures as release blockers, not cosmetic warnings.