The Semantics of "When X, Then Start Y"
A trigger connection declares causality without continuous data exchange: when a condition on the source node becomes true, the target node activates. Schedulers waking batch jobs, alert rules firing incident pipelines, and webhook subscriptions kicking off deployments are all triggers. The edge carries a signal, not a stream — the receiving node may get nothing but permission to begin.
Diagrams fail when triggers are drawn identically to flows. A flow promises payloads; a trigger promises activation. When a monitoring system "triggers" an autoscaler, conflating that edge with a metrics flow hides the fact that the scaler reacts to threshold events, not to the raw telemetry stream that feeds the monitor.
Core Diagnostic Rule: A Trigger Fires on a Condition, Not on a Schedule
Label every trigger edge with its firing condition — threshold breach, state transition, message arrival — so readers can distinguish event-driven activation from polling or continuous flow.
Deterministic threshold violations deserve special care: the edge should name the metric, the operator, and the boundary ("latency > 500ms for 3 consecutive windows"). Without that annotation, a trigger arrow reads as magic — something happens, something else starts, and nobody can trace why.