Tighten PR manage action gating #162

Closed
opened 2026-04-12 17:21:59 +00:00 by barrettruth · 1 comment
barrettruth commented 2026-04-12 17:21:59 +00:00

Problem

The PR manage picker is still too loose about which actions it shows.

Live examples from the GitHub pass:

  • merged PRs still offered Reopen
  • non-open PRs still offered Mark as draft
  • Mark as ready should only exist for draft PRs
  • after approving PR #158, the picker still showed Approve

Expected

Only show actions that are valid for the specific PR state, merge status, draft state, permissions, and forge capabilities.

Notes

The underlying command paths work when called in valid states. The problem is the picker surface, not the semantic ops layer.

## Problem The PR manage picker is still too loose about which actions it shows. Live examples from the GitHub pass: - merged PRs still offered `Reopen` - non-open PRs still offered `Mark as draft` - `Mark as ready` should only exist for draft PRs - after approving PR #158, the picker still showed `Approve` ## Expected Only show actions that are valid for the specific PR state, merge status, draft state, permissions, and forge capabilities. ## Notes The underlying command paths work when called in valid states. The problem is the picker surface, not the semantic ops layer.
barrettruth commented 2026-04-12 20:56:13 +00:00

Superseded by #185.

The old PR manage surface this issue referred to was removed when PR actions were flattened into the root picker, and the later product direction was explicitly to avoid over-engineered action gating in core. This specific issue is no longer the right shape for the current picker surface.

Superseded by `#185`. The old PR manage surface this issue referred to was removed when PR actions were flattened into the root picker, and the later product direction was explicitly to avoid over-engineered action gating in core. This specific issue is no longer the right shape for the current picker surface.
Sign in to join this conversation.
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
barrettruth/forge.nvim#162
No description provided.