Runner closes own superseded PR automatically

Task 10646 · Done · Coder · created · updated

PR #7124 was left open after its run ended. Merge-lane base check Task 10586 opened a fix-forward PR for red develop, then proved it superseded (Task 10488 had already fixed develop). The runner rule "Never `jaah-forge pr close` the PR" (apps/api/app/dispatch_compose/role_prose.py, the PR-wait prose) stopped it from closing the PR, so it stayed open with a comment until an operator closed it. Ask (operator choice, Task 10636): when a runner proves a PR it opened itself is superseded (the same fix is already on the integration branch, and the suite passes there), it closes that PR with `jaah-forge pr close <n> --body-file <file>`, naming the superseding commit. The ban on closing a PR stays in force for every other case (a stuck, blocked or failing PR). Out of scope: changing how the merge lane handles a red develop (fix-forward vs a CP fix task); closing PRs that other tasks opened. Done means: - The role prose lets a runner close its OWN PR only when it has proved the PR superseded, with the reason in the close body, and still forbids closing in every other case. - A dispatch-compose test pins the new wording. - `./dc check quick` is green.

Outcome

PR-wait prose now lets a runner close its OWN proved-superseded PR (naming the superseding commit); all other closes stay banned. Test pins wording; quick gate green; PR #7137 queued to merge lane. Memory: none applied.

Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)