/steps
?open
/current_alerts
/notification_results
/messages
/state_changes
/step_changes
retrieve matching filters w/ purpose MWDef, any m.filters in mw.filters?, yes: discard alert
retrieve matching filters w/ purpose EscDef, any m.filters in ed.filters?, yes, each esc_def, check state, ack, reset state to open if new metric, no esc, closed, noresp, create escalation, state: new, update escalation, update status, append current_alert, update messages, no: discard alert
spawn worker, update state: open, fetch escalation, check if in maint, yes: update state: in maint, no: update state: prior state, check state, in_maint, sleep mw cache_control, open, update step, send notifications, notify, add notification result, sleep step_interval, ack, update step, sleep step_interval, susp, update step, sleep step_interval, closed, terminate worker, check if end of steps, yes, update state: no_resp, terminate worker, no