feat(forge): pr create allows edits from maintainers #905

Merged
HumanBean merged 1 commit from HumanBean/Longshot:feat/forge-maintainer-edits into main 2026-11-15 20:19:57 +00:00
Owner

Type: feat · Risk: low · Tested on: Linux (forge.py run only; no game change) · Needs: none

Why

A maintainer can't push a small fix to a contributor's PR branch unless the author ticked "Allow edits from maintainers". PRs opened with forge.py pr create left it off, so every fix-up needed a round trip.

What changed

pr create now turns on allow_maintainer_edit for the PR it opens. The create call has no field for it, so it is set in the edit that already follows (the one that fills the description), which now always runs.

  • scripts/forge.py: cmd_pr create branch, edit_pr(..., allow_maintainer_edit=True).

Measurements

Verdict: nothing to measure: a forge script, no game code.

Flags and settings

None.

Testing

Tested: this PR was opened with the changed script; its allow_maintainer_edit is checked after creation (see the comment).

Not tested: the game-free checks (tests/run_all.py): they run on CI, not on this PC.

Must be tested: None.

Risks

What could break: pr create makes one extra API call when the description needs no change.

Turning it off: revert the commit.

Compatibility: Nothing changes.

Checklist

Everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description) of the status line's type.
  • Why gives the reason plainly and links the issues that fit (the tracker searched).
  • Measurements has a verdict, or one line saying why there is nothing to measure.
  • Testing names what was tested, what wasn't, and what must still be tested, where and how.
  • Rebased on current main.
  • python -I -B tests/run_all.py passes (any failure that also fails on main is named).
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

When it applies

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
**Type:** feat · **Risk:** low · **Tested on:** Linux (forge.py run only; no game change) · **Needs:** none ## Why A maintainer can't push a small fix to a contributor's PR branch unless the author ticked "Allow edits from maintainers". PRs opened with `forge.py pr create` left it off, so every fix-up needed a round trip. ## What changed `pr create` now turns on `allow_maintainer_edit` for the PR it opens. The create call has no field for it, so it is set in the edit that already follows (the one that fills the description), which now always runs. - scripts/forge.py: `cmd_pr` create branch, `edit_pr(..., allow_maintainer_edit=True)`. ## Measurements **Verdict:** nothing to measure: a forge script, no game code. ### Flags and settings None. ## Testing **Tested:** this PR was opened with the changed script; its `allow_maintainer_edit` is checked after creation (see the comment). **Not tested:** the game-free checks (`tests/run_all.py`): they run on CI, not on this PC. **Must be tested:** None. ## Risks **What could break:** `pr create` makes one extra API call when the description needs no change. **Turning it off:** revert the commit. **Compatibility:** Nothing changes. ## Checklist ### Everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`) of the status line's type. - [x] Why gives the reason plainly and links the issues that fit (the tracker searched). - [x] Measurements has a verdict, or one line saying why there is nothing to measure. - [x] Testing names what was tested, what wasn't, and what must still be tested, where and how. - [x] Rebased on current `main`. - [ ] `python -I -B tests/run_all.py` passes (any failure that also fails on `main` is named). - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### When it applies - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers.
feat(forge): pr create allows edits from maintainers, so a maintainer can push a fix to the PR's branch
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request_target) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 5s
Third-party parts / As their notes say (pull_request) Successful in 8s
PR description / Description follows the template (pull_request_target) Failing after 4s
5023fe1231
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
HumanBean changed title from WIP: feat(forge): pr create allows edits from maintainers to feat(forge): pr create allows edits from maintainers 2026-11-15 20:19:53 +00:00
HumanBean deleted branch feat/forge-maintainer-edits 2026-11-15 20:19:57 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!905
No description provided.