Context
Context. A job on UpdateRecord that writes to the record it watches fires UpdateRecord, which runs the job again. Whether that loop can happen depends on how the job runs: records written by an asynchronous job fire no entity events, so it cannot re-trigger itself that way; a synchronous job's writes do fire them. Guard every job that writes what it listens to anyway, because a job later switched to synchronous inherits the loop, and so does one that writes through the site's API with an HTTP request. The full explanation is guarding against recursion.