Repository navigation
Closed
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Parent
What to build
A Spec run goes as far as it can, and ends as a Failed spec run when any Ticket isn't done.
- Which Tickets run. A Ticket is ready when it is open, is not an Unready Ticket (labelled
ready-for-human,needs-info,wontfixorneeds-triage), has no sub-issues of its own, has every blocker closed, is not running, and hasn't failed in this Spec run. An open Ticket with no triage label is taken. - What never runs. Unready Tickets, Tickets with sub-issues (treated as unready), Tickets blocked by an open issue outside the Spec, Tickets in a dependency cycle, and every Ticket downstream of any of these or of a failed Ticket. A blocker outside the Spec that is closed is satisfied.
- Failures. A Ticket whose Run fails is not retried in this Spec run; it stops only the Tickets it blocks, and every other reachable Ticket still runs.
- Re-reading the graph. The graph is read again from GitHub whenever a Ticket's Run ends, so labelling a Ticket, adding one, or closing one by hand takes effect in the same Spec run.
- The end. When nothing is running and nothing is ready: if every Ticket is done, go on to the Spec PR as before. Otherwise the Spec run is a Failed spec run: no Spec review, exit 1, and a summary on stderr with one line per Ticket not done: failed (with its cause and session log), blocked (by which Ticket or outside issue), unready (with which label, or "has sub-issues"), or in a cycle (naming it). Landed Tickets are listed with their PR.
Help and the README explain what makes a Ticket unready and that a Spec run takes every Ticket it can reach.
Acceptance criteria
- A Ticket labelled
needs-infois not run, nor is a Ticket it blocks; an independent Ticket still lands; exit 1 with both named in the summary - Each of
ready-for-human,wontfixandneeds-triagemakes a Ticket unready; an unlabelled open Ticket is run - A Ticket whose Run fails stops only its dependents; independent Tickets still land; the summary gives its cause and session log
- A failed Ticket is not started a second time in the same Spec run
- A Ticket blocked by an open outside issue waits; one blocked by a closed outside issue runs
- Tickets in a cycle don't run and the summary names the cycle
- A Ticket with its own sub-issues is not run and is reported as unready
- Removing a Ticket's
needs-infolabel while another Ticket runs lets it run in the same Spec run - A Failed spec run starts no Spec review
- Help and README explain Unready Tickets
Blocked by
Metadata
Metadata
Assignees
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Activity