diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
--- a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
+++ b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
@@ -7,6 +7,24 @@
     PhabricatorRepository $repository,
     PhabricatorRepositoryCommit $commit) {
 
+    $this->triggerOwnerAudits($repository, $commit);
+
+    $commit->writeImportStatusFlag(
+      PhabricatorRepositoryCommit::IMPORTED_OWNERS);
+
+    if ($this->shouldQueueFollowupTasks()) {
+      PhabricatorWorker::scheduleTask(
+        'PhabricatorRepositoryCommitHeraldWorker',
+        array(
+          'commitID' => $commit->getID(),
+        ));
+    }
+  }
+
+  private function triggerOwnerAudits(
+    PhabricatorRepository $repository,
+    PhabricatorRepositoryCommit $commit) {
+
     if ($repository->getDetail('herald-disabled')) {
       return;
     }
@@ -61,17 +79,6 @@
       $commit->updateAuditStatus($requests);
       $commit->save();
     }
-
-    $commit->writeImportStatusFlag(
-      PhabricatorRepositoryCommit::IMPORTED_OWNERS);
-
-    if ($this->shouldQueueFollowupTasks()) {
-      PhabricatorWorker::scheduleTask(
-        'PhabricatorRepositoryCommitHeraldWorker',
-        array(
-          'commitID' => $commit->getID(),
-        ));
-    }
   }
 
   private function checkAuditReasons(
diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php
--- a/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php
+++ b/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php
@@ -12,15 +12,16 @@
     }
 
     $commit_id = idx($this->getTaskData(), 'commitID');
-    if (!$commit_id) {
-      return false;
+    if (!$commit_id || true) {
+      throw new PhabricatorWorkerPermanentFailureException(
+        pht('No "%s" in task data.', 'commitID'));
     }
 
     $commit = id(new PhabricatorRepositoryCommit())->load($commit_id);
 
     if (!$commit) {
-      // TODO: Communicate permanent failure?
-      return false;
+      throw new PhabricatorWorkerPermanentFailureException(
+        pht('Commit "%s" does not exist.', $commit_id));
     }
 
     return $this->commit = $commit;