The queue panel's statuses
A task that works items such as issues keeps a list of the work items its sessions have taken on, with the state each one was left in. The Execution queue panel of the Executions screen shows what waits for a later run: the firings still waiting to start, marked Waiting, the next scheduled runs, marked Scheduled, and the work items a later run takes up again, marked To resume or To retry. Selecting a work item opens the last execution that worked it.
To resume and To retry
- To resume is a work item still in progress: one a running execution is working on, one whose draft pull request's tests failed, or one whose execution you cancelled. Once no execution works it, a later run continues the work it holds.
- To retry is a work item that failed: its session reported it failed, or left it without a result. A later run tries it again.
The panel lists no other work item. An item that was completed or closed is done, and one that needs attention waits for you, not for a later run.
A skipped item
An item a session reports as skipped keeps the status it had before that session. An item HarmFlow did not hold before gets no entry at all, so a skip never puts an item under To resume.
An item left without a result
An item a session selected and left without a result counts as one failed attempt, however the execution ended, unless you cancelled it: the session failed, timed out, or stopped when the daemon stopped. The item then reads as failed, shown as To retry. Every item the session selected counts, not only the last one.
A cancelled execution
When you cancel an execution, its work items count no failure. Each one stays in progress, shown as To resume.
When an item needs attention
Two settings of the task limit how often a later run takes an item up again, both 3 by default:
- Retries of a failed item. An item whose failed attempts go past this limit needs attention.
- Resumptions before needs attention. An item resumed this many times that would still be resumed needs attention.
An item that needs attention leaves the panel. Its last execution says what happened to it.
When a report cannot be read
When a session's report is not valid JSON or does not follow its schema, HarmFlow cannot read the results it held. The execution then needs attention and says why, and each item the session selected counts as left without a result. An execution whose report was ignored explains how to read its reason.
After an update
Earlier versions of HarmFlow left skipped items, and items left without a result, in progress for good. The first time HarmFlow starts after the update that changed this, it repairs those entries once: a skipped item with no resumption or failure counted leaves the list, and an item left without a result counts one failed attempt.