fix(external-plugins): block approval during intake reruns

Remove stale ready-for-review state before evaluating edited submissions or running quality gates. Require a current ready state before fast-tracking or approving, and cover the pending transition with focused tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 821f4796-505e-4fb8-96cf-0b5bbf80a636
This commit is contained in:
Aaron Powell
2026-10-13 11:58:49 +11:00
co-authored by Copilot App
parent f4088ee185
commit a48dab5961
7 changed files with 119 additions and 7 deletions
@@ -85,7 +85,8 @@ jobs:
});
const fallbackName = evaluation.plugin?.name ?? `issue-${context.issue.number}`;
const canApprove = labelNames.has('ready-for-review') || labelNames.has('approved');
const canApprove = labelNames.has('approved') ||
(labelNames.has('ready-for-review') && !labelNames.has('awaiting-review'));
const canReject = !labelNames.has('approved');
if (parsedCommand.command === 'approve' && !canApprove) {