Skip to content

epic(forgectl): review queue — bounding launches, draining, and notification #194

Description

@cameronsjo

Kind

docs

Component

forgectl

What needs doing

Umbrella for the review-queue subsystem. Bulk review launch is currently
unbounded: forgectl pr prs prepares every selected PR and launches every prepared result,
so picking 12 PRs gets you 12 sessions. The pieces that make bulk review safe to leave
running
are a launch cap, an auto-draining backlog, and a notification when the drainer
starts one — three changes that only read as coherent together.

Scope boundary vs #55

#55 already owns displaying a review queue — its menu-bar shell lists staged review
sessions as one section. This epic is about bounding launches: how many review sessions
may run at once, what happens to the overflow, and how the operator learns that a queued
review started. #55 is explicitly not that — it renders state it does not produce. The two
compose: this epic produces the queue, #55 shows it.

Children

Why one epic

Filed separately these read as four unrelated nits — a magic number, a missing notifier, a
tray scoping note. Filed together they are one subsystem: the thing that lets you select 20
PRs, walk away, and come back to a bounded, drained, legible queue rather than 20
simultaneous sessions.

Ordering

The cap ships first (it is the load-bearing safety change). Notification is additive and can
land any time after. The #32 comment is independent and can go immediately.

Evidence

Verified against 58a2845. There is no queue, no poll daemon, no tray, and no
max-concurrent setting anywhere in the tree
internal/ has no queue package, go.mod
declares no systray dependency, and the only notify hits are the docs watcher's fsnotify
usage. This is greenfield, not a repair.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicmulti-PR tracking issueforgectlforgectl component

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions