Topics: [the-framework]
GitHub: [#624](https://github.com/gemstack-land/the-framework/issues/624)

# Queue

## TLDR

Two queues as the two human-gated ends of one pipeline: a **queue of human interventions** (runs awaiting an answer, finished runs ready to merge, PM-proposed tickets/tasks pending confirmation) and a **queue of confirmed tasks** (pending, future, history). Design landed in-thread: the interventions queue is mostly a *projection* of live run state, not a store; the confirmed queue is the committed `TODO.md` (the durable roadmap); history is `LOGS.md` + git log. Simplification adopted: **proposals are just PRs** (toward `TODO.md` for tasks, toward `tickets/` for tickets) — no `TODO-candidates.md` file needed.

## Why it matters

The Queue is the MVP-v2 centerpiece (#538): it's how a human steers an autonomous pipeline without watching it — everything waiting on you in one place, everything confirmed draining one at a time. Reusing normal Git flows (proposals = PRs) keeps the system simpler and the UX nicer than inventing new intermediate stores.

## Source

Imported from GitHub issue [gemstack-land/the-framework#624](https://github.com/gemstack-land/the-framework/issues/624), created 2026-07-17, label: `the-framework ♻️`, 4 comments.

### Original description

Two queues:
- Queue of human interventions needed
  - AI in-progress tasks awaiting user answer
  - AI finished tasks (ready to merge) requiring user review
  - New tickets pending user confirmation (agentic PM automatically proposes new tickets => user confirms)
  - New tasks pending user confirmation (agentic PM automatically proposes new tasks from ticketing => user confirms)
- Queue of confirmed tasks
  - pending tasks
  - future task confirmed by user
  - finished tasks (i.e. history)

### Notes from the GitHub thread

- Proposed pipeline: `tickets/*.md` → PM proposes → candidates → you confirm/reject → `TODO.md` → todo-loop drains one at a time → run in progress (AWAIT gate → interventions; `setReadyForMerge` → ready to review) → merged → `LOGS.md`/git log.
- Already built at the time: the per-session TODO backlog + drain loop, and a cross-project queue rollup in the dashboard.
- Decision: drop `TODO-candidates.md`; proposals and finished work are both just PRs ("the more we leverage and re-use normal Git flows, the simpler and the nicer the UX").
