phacility/phabricator · warning · Exception

You can not request verification of this commit because no…

Error message

You can not request verification of this commit because no auditors have raised concerns with it.

What it means

The second Verify guard: verification only applies after auditors raised concerns, i.e. the commit's audit status is CONCERN_RAISED. With no standing concerns there is nothing to verify, so the author's Request Verification transaction is rejected.

Solutions

  1. Follow the loop in order: an auditor must Raise Concern first, then the author can request verification
  2. Refresh the commit page - if the status already reads Needs Verification, the request already happened
  3. If concerns were resolved another way, use comments or auditor edits rather than the verify action
Defensive patterns

Strategy: validation

Validate before calling

if (!$object->isAuditStatusConcernRaised()) {
  // verification not applicable yet; do not apply the transaction
}

Prevention

When it happens

Trigger: The author clicks Request Verification on a commit whose audit status is anything other than Concern Raised - e.g. already fully audited, or already in Needs Verification.

Common situations: Authors clicking verify preemptively after adding auditors; a second verification request after the status already moved to Needs Verification.

Understand the failure class

Background: "Invalid state transition" errors: "status must be X, actually Y", "already rejected/charging/uninstalled", "cannot ... while running" — what they mean when a library rejects your call — this error's family across 31 libraries.

Related errors


AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21). Data as JSON: /api/errors/837cb64b5484bf40. Report an issue: GitHub.

Appendix: source

Thrown at src/applications/diffusion/xaction/DiffusionCommitVerifyTransaction.php:51

  public function getActionName() {
    return pht('Requested Verification');
  }

  public function applyInternalEffects($object, $value) {
    $object->setAuditStatus(DiffusionCommitAuditStatus::NEEDS_VERIFICATION);
  }

  protected function validateAction($object, PhabricatorUser $viewer) {
    if (!$this->isViewerCommitAuthor($object, $viewer)) {
      throw new Exception(
        pht(
          'You can not request verification of this commit because you '.
          'are not the author.'));
    }

    if (!$object->isAuditStatusConcernRaised()) {
      throw new Exception(
        pht(
          'You can not request verification of this commit because no '.
          'auditors have raised concerns with it.'));
    }
  }

  public function getTitle() {
    return pht(
      '%s requested verification of this commit.',
      $this->renderAuthor());
  }

  public function getTitleForFeed() {
    return pht(
      '%s requested verification of %s.',
      $this->renderAuthor(),
      $this->renderObject());
  }

View on GitHub (pinned to 5720a38cfe)