There is no batch at all. The causes, in the order they usually turn out to be true:

  1. It is not published, or was imported and never published: an imported job arrives inert.
  2. It is limited to another site, or its trigger is narrowed to a record id or parent id that is not the record you changed. After an import, ids point at whatever has that id on the new site.
  3. The change was made by an asynchronous job. Records written by a background batch fire no entity events, so a record created or updated by another job does not start this one. Chain the two with Trigger job.
  4. The method is not the one that happened. Publishing is an UpdateRecord, not a create; a form submission's Completed fires once, not on later edits; StartEditingRecord fires only where logging it is switched on.
  5. A web event's URL is wrong, or the job is unpublished: /cdna-api/webhook/<slug> answers 404 for both.

A batch that exists but ended skipped did fire: a condition or a Stop ended it on purpose, and the first condition's result in the log says which.