{"record":{"id":"c552f334f0d344ef","repo":"phacility/phabricator","slug":"you-can-not-request-verification-of-this-commit-be","errorCode":null,"errorMessage":"You can not request verification of this commit because you are not the author.","messagePattern":"You can not request verification of this commit because you are not the author\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"warning","filePath":"src/applications/diffusion/xaction/DiffusionCommitVerifyTransaction.php","lineNumber":44,"sourceCode":"  public function getColor() {\n    return 'indigo';\n  }\n\n  protected function getCommitActionOrder() {\n    return 600;\n  }\n\n  public function getActionName() {\n    return pht('Requested Verification');\n  }\n\n  public function applyInternalEffects($object, $value) {\n    $object->setAuditStatus(DiffusionCommitAuditStatus::NEEDS_VERIFICATION);\n  }\n\n  protected function validateAction($object, PhabricatorUser $viewer) {\n    if (!$this->isViewerCommitAuthor($object, $viewer)) {\n      throw new Exception(\n        pht(\n          'You can not request verification of this commit because you '.\n          'are not the author.'));\n    }\n\n    if (!$object->isAuditStatusConcernRaised()) {\n      throw new Exception(\n        pht(\n          'You can not request verification of this commit because no '.\n          'auditors have raised concerns with it.'));\n    }\n  }\n\n  public function getTitle() {\n    return pht(\n      '%s requested verification of this commit.',\n      $this->renderAuthor());\n  }","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/diffusion/xaction/DiffusionCommitVerifyTransaction.php#L26-L62","documentation":"Request Verification is the commit author's tool to send a needs-verification commit back to auditors; validateAction() enforces that only the author can trigger it. If the acting viewer did not author the commit, the transaction is rejected before any state change.","triggerScenarios":"A non-author (auditor, admin, passerby) selects 'Request Verification' on a commit in Concern Raised state; automation flags commits for verification using a shared account that is not the author.","commonSituations":"A lead trying to drive the audit loop on other people's commits; bots acting outside the author identity.","solutions":["Have the commit author perform the Request Verification action","For automation, attribute commits to the account that will drive verification, or act via the author's identity through the API","If the author is unavailable, adjust auditors or status through other transactions instead"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (!$this->isViewerCommitAuthor($object, $viewer)) {\n  // hide Request Verification for non-authors\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Gate the action in the UI by authorship so it is never offered to the wrong actor","Keep bot authorship and bot audit actions on separate accounts"],"tags":["phabricator","audit","diffusion","authorization","author-role"],"backgroundTag":"role-based-permission-denied","analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}