Files
relayview-skills/docs/agents/queue.md
T
admin 115341e15d
Check instruction packages / check (push) Successful in 4s
Configure agent workflow and issue status board
2026-11-13 07:51:03 -05:00

5.5 KiB

Work Queue

How this repository decides what is next. The contract in one paragraph: exactly one open issue labelled type/roadmap carries a ## Work Queue In Priority Order section; that order — with epic ## Child Issues In Priority Order sections beneath it — is repository priority. Dependency links gate execution; status labels gate readiness. Neither ever overrides the written order. The queue tree carries one invariant — every open issue except the roadmap itself sits on exactly one priority list and blocks that parent — specified in full in the gitea-issues references/repository-queue.md reference. Every open direct child of the roadmap — epic or standalone entry — blocks the roadmap, one edge per direct child and never edges to the whole backlog, so the Gitea UI Blocks section links each level of the tree to the root.

Priority lists use - [ ] #123 Title and - [x] #123 Title. Physical order sets priority; the checkbox is a progress display. A checked entry represents a closed issue with status/done, including an epic accepted and closed separately. status/wontfix and historical closed issues without status/done stay unchecked. queue inspect reports disagreements; clicks never change readiness, closure, or prerequisites. Convert numbered lists through reviewed checklist preview and guarded checklist apply.

Reading the queue

  • Health and explanations: queue inspect — status counts, skipped entries, unqueued ready work, tree-invariant violations, structural anomalies.
  • Placement and reconciliation: queue roadmap — targeted top-level order and current content_version, without dependency scans.
  • What is next: queue next — read-only selection of the highest-priority executable leaf, with every higher-ranked skip explained.

Both are read-only. Inspecting never claims anything; claim separately with issue start --issue <number>, which creates the ISSUE-<number> worktree and moves the issue to status/in-progress.

Changing the queue

Queue edits are explicit mutations, never side effects of other work:

  • queue init — create the canonical roadmap if absent (idempotent).
  • queue insert --issue <n> --position <p> --expected-content-version <v> — add a top-level epic, or a standalone issue with --allow-standalone. Inserting an open entry — epic or standalone — also links it as blocking the roadmap (reported separately from the body write).
  • queue reorder --issue <n> ... --expected-content-version <v> — rewrite the top-level order, naming every current entry exactly once.
  • queue link-children preview / apply --confirm — classify and repair the direct-child blocking edges to the roadmap (read-only preview; confirmed apply creates exactly the missing edges, streaming [queue] progress milestones with the terminal summary and exit status authoritative).

Mutations send the optimistic-locking content_version printed by queue roadmap. On any ambiguous result, re-run queue roadmap and reconcile before retrying; never blindly re-run a mutation.

Adopting existing epics

Epics created before this contract may carry legacy child-order sections. epic migrate-children preview inventories them read-only and classifies each open epic; the owner confirms each proposed migration, and epic migrate-children apply --epic <n> --expected-content-version <v> rewrites one epic at a time under the queue contract's rules. Ambiguous epics go back to the owner with their diagnostics. The gitea-issues references/repository-queue.md reference documents the full contract.

Moving to independent mode

In legacy mode, which this document describes, a native edge may mean containment, navigation, or a prerequisite. A repository moves to independent mode — edges mean prerequisites only — through a reviewed migration, never a setup rerun: migration preview --history --write-plan <file> classifies every edge read-only, the owner reviews the plan, migration freeze makes every roadmap-driven helper fail closed, migration apply --plan <file> removes only the projection edges the evidence proves and writes each placed issue's Parent: line, migration readiness confirms nothing blocks, and a reviewed commit of relationship_mode = "independent" activates it. The gitea-issues references/repository-queue.md reference documents recovery and rollback.

Who enters the roadmap

Only two kinds of issue: a top-level delivery epic, and an explicitly standalone actionable issue. Epic children never enter the roadmap — they stay in the epic's child-priority list plus dependency links, under the queue-tree invariant stated above.

Default placement for new issues

Newly published work with no priority statement from the user enters at the default position — the highest its dependencies allow, per the default rule in the gitea-issues references/create-and-organize.md queue-placement contract; an explicit statement from the user always wins. Creation and placement remain two explicit, reconcilable operations either way, and genuinely unresolved placement still publishes unqueued and stays visible under "Unqueued ready work".

After reviewed work merges

pr cleanup merges reviewed work and reconciles its issue. Continuation then recommends exactly one follow-up, in order: newly unblocked dependents, the current epic's next executable child, the roadmap's next executable leaf, or an explicit blocked/empty result. Recommendations only — starting the next issue needs its own authorization.