fix(forgejo): treat null pull_request as issue #989
No reviewers
Labels
No labels
burndown-2026-06
pressure-test
sunday-sprint
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/ward!989
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-985"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #985
ward.workflow: pull-requests-and-merge
verdict: block
confidence: high
summary: The patch fixes
pull_request: nullclassification, but it regresses PR listing by filtering after a generic limited issue feed. Repos with enough normal issues on the first page can hide every open PR from the director merge lane.findings:
file: cmd/ward/forgejo_ops.go
line: 657
problem:
listOpenPullRequestsnow callslistOpenIssueFeedwith onlystate=open&limit=N, then filters rows wherepull_request != nil. Because the limit is applied by Forgejo before ward filters, a repo whose first N open rows are normal issues returns zero PRs even if open PRs exist later. The oldtype=pullsquery applied the limit to PR rows directly.impact:
ward agent director merge, queue views, and backlog surfaces can miss open PRs and report nothing mergeable. That is worse than the original null-classification bug because the director lane becomes page-order dependent.conclusion: Review blocks PR #989. Keep the non-null
pull_requestclassifier, but preserve type-scoped pagination for issue and PR list helpers or fetch enough pages before filtering so each helper returns the requested kind reliably.