Most schema-evolution advice is technically correct and still gets teams hurt.
It usually stops at “add fields, don’t remove fields,” and skips the parts that cause real incidents: semantic drift, consumer lag, unknown consumers, and silent failures. In an event-driven system, the most dangerous break is the one that doesn’t crash anything — it just produces wrong results quietly.