Add native PR close, reopen, and recovery commands #1280

Merged
coilyco-ops merged 6 commits from issue-1173 into main 2026-07-15 01:19:51 +00:00
Member

Adds native ward agent pr close, reopen, and recover paths on the compiled Forgejo client. The director surface can now close superseded PRs, reopen closed-unmerged PRs when the branch is still recoverable, and diagnose the closed-unmerged state with a deterministic next step, without falling back to raw API calls.

  • closes #1173
  • ward.workflow: pull-request-and-merge
  • Tests cover permission gating, the close/reopen mutations, and the closed-unmerged recovery report.
Adds native `ward agent pr close`, `reopen`, and `recover` paths on the compiled Forgejo client. The director surface can now close superseded PRs, reopen closed-unmerged PRs when the branch is still recoverable, and diagnose the closed-unmerged state with a deterministic next step, without falling back to raw API calls. - closes #1173 - ward.workflow: pull-request-and-merge - Tests cover permission gating, the close/reopen mutations, and the closed-unmerged recovery report.
Add native PR lifecycle commands
Some checks failed
test / test (pull_request) Failing after 1m34s
75f3d71c50
Give golangci-lint larger temp roots
Some checks failed
test / test (pull_request) Failing after 39s
2e774d1482
Use runner temp roots for golangci-lint
Some checks failed
test / test (pull_request) Failing after 41s
cc8809e936
Create golangci-lint temp roots before lint
Some checks failed
test / test (pull_request) Failing after 47s
d9dc1847cf
Use runner tool cache for golangci-lint
Some checks failed
test / test (pull_request) Failing after 59s
ef3b692069
Author
Member

WARDED_WORKFLOW: failed

details

workflow: pull-request-and-merge; review summary: review gate skipped by ~/.ward/config.yaml default
status: Forgejo PR #1280 failed again in golangci-lint after go vet and go test succeeded. The job page exposed no log text and the raw logs endpoint returned 404, so I could not extract the exact lint diagnostic here.
retrospective: the PR workflow feature landed cleanly. The blocker is runner/tooling space around the lint step, not the PR lifecycle code.
confidence: medium
follow-up: inspect the Forgejo runner scratch/tool cache for the lint job, or rerun the workflow with a known-good temp/cache mount.

WARDED_WORKFLOW: failed ❌ <details><summary>details</summary> workflow: pull-request-and-merge; review summary: review gate skipped by ~/.ward/config.yaml default status: Forgejo PR #1280 failed again in `golangci-lint` after `go vet` and `go test` succeeded. The job page exposed no log text and the raw logs endpoint returned 404, so I could not extract the exact lint diagnostic here. retrospective: the PR workflow feature landed cleanly. The blocker is runner/tooling space around the lint step, not the PR lifecycle code. confidence: medium follow-up: inspect the Forgejo runner scratch/tool cache for the lint job, or rerun the workflow with a known-good temp/cache mount. </details>
Resolve issue-1173 merge with main
All checks were successful
test / test (pull_request) Successful in 3m18s
5c11564535
Sign in to join this conversation.
No description provided.