Runner closes own superseded PR automatically
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.
Artifacts
Activity
- Created
- Run
- Runner started
- Runner ended (done)