Looking at automation systems long enough, you arrive at two fundamental questions. "What happened?" — who detects it, and "what do we do now?" — who decides. In the monolithic era, both lived in the same process. An order arrived; the same function decreased inventory, sent an email, called payments. Caller and called knew each other at compile time. But as systems grew, this point-to-point calling pattern crumbled. Each new feature meant modifying existing code; one slow service dragged every service calling it synchronously; nobody understood the full picture anymore