Web UI: Live PR and issue queue dashboard #429

Closed
opened 2026-07-07 12:21:01 -05:00 by jcwalker3 · 2 comments
Owner

Problem statement

Queue state is spread across gitea_list_prs, gitea_list_issues, and manual Gitea browsing. Operators need one read-only dashboard for open work.

Scope

Show live Gitea queue state in the web UI:

  • open PR list with mergeability and linkage
  • open issue list with claim/status signals
  • classification badges for blocked, in-review, claimed, duplicate, stale
  • pagination metadata surfaced

Acceptance criteria

  • Lists open PRs with: number, title, branch, head SHA, mergeable state, linked issue (when detectable)
  • Lists open issues with: number, title, labels/status, claim/status:in-progress if present, linked PR if available
  • Classifies items as blocked, in-review, claimed, duplicate, stale when evidence exists
  • MVP is read-only (no claim/review/merge buttons)
  • Pagination proof is surfaced in the UI (page size, count, has-more/final-page indicator)

Non-goals

  • Performing claims, comments, reviews, or merges from the dashboard
  • Replacing Gitea as system of record
  • Hiding pagination limitations

Relation to tracker

Child of tracker #425. Implements one slice of the MCP Control Plane internal web UI. Does not duplicate backend policy already enforced by MCP tools/workflows.

Dependencies

Depends on #426. Uses Gitea read APIs or existing MCP read tools server-side.

Notes

Related backend: #194, #202, #340 (pagination/trust gates). UI must not claim empty queue without pagination proof.

## Problem statement Queue state is spread across `gitea_list_prs`, `gitea_list_issues`, and manual Gitea browsing. Operators need one read-only dashboard for open work. ## Scope Show live Gitea queue state in the web UI: - open PR list with mergeability and linkage - open issue list with claim/status signals - classification badges for blocked, in-review, claimed, duplicate, stale - pagination metadata surfaced ## Acceptance criteria - Lists open PRs with: number, title, branch, head SHA, mergeable state, linked issue (when detectable) - Lists open issues with: number, title, labels/status, claim/`status:in-progress` if present, linked PR if available - Classifies items as blocked, in-review, claimed, duplicate, stale when evidence exists - MVP is read-only (no claim/review/merge buttons) - Pagination proof is surfaced in the UI (page size, count, has-more/final-page indicator) ## Non-goals - Performing claims, comments, reviews, or merges from the dashboard - Replacing Gitea as system of record - Hiding pagination limitations ## Relation to tracker Child of tracker #425. Implements one slice of the MCP Control Plane internal web UI. Does not duplicate backend policy already enforced by MCP tools/workflows. ## Dependencies Depends on #426. Uses Gitea read APIs or existing MCP read tools server-side. ## Notes Related backend: #194, #202, #340 (pagination/trust gates). UI must not claim empty queue without pagination proof.
jcwalker3 added the status:in-progress label 2026-07-07 12:53:16 -05:00
Author
Owner

Issue claim heartbeat

<!-- gitea-issue-claim-heartbeat:v1 --> **Issue claim heartbeat** - kind: claim - issue: #429 - branch: pending - phase: claimed - profile: prgs-author - pr: none - blocker: none - next_action: create worktree and begin implementation
Author
Owner

Issue claim heartbeat

<!-- gitea-issue-claim-heartbeat:v1 --> **Issue claim heartbeat** - kind: claim - issue: #429 - branch: feat/issue-429-queue-dashboard - phase: claimed - profile: prgs-author - pr: none - blocker: none - next_action: create worktree and begin implementation
sysadmin removed the status:in-progress label 2026-07-07 14:13:29 -05:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#429