Skip to content

feat: add a GitHub action that adds and removes work items from issue events #223

Description

@outofcoffee

A GitHub action, in a new repo in the spinloop-ai org, that turns GitHub issue events into work items: an issue that matches the action's inputs becomes an item in a work items file when it is opened, and the item goes out of the file when the issue is closed — a backlog of issues becoming the backlog the orchestrator works, with no operator in between.

  • A new repo in the spinloop-ai org, e.g. spinloop-ai/work-action: the action, its tests, its CI, and a README with a workflow a caller can copy; the action carries the spinloop binary it works with, so a runner installs nothing
  • The action runs on the issue events a workflow names — at minimum an issue opened and an issue closed — and maps each to the commands it works with: an opened issue is a work add, a closed one a work remove
  • The work items file lives in the caller's repo: the action works it in place, --items naming it, default work.yaml, and commits and pushes the result with the workflow's token; the orchestrator's hand-off is the file itself — its next pass sees the change, running or not
  • The item an issue takes: an id derived from the issue number by default, overridable by input; instructions from the issue's title and body, through a template input; and dir and tags inputs, where dir names the directory the agent works in on the machine the orchestrator runs
  • A label input names the labels an issue must carry to become work; no labels, every issue does
  • A re-run of the same event adds nothing: an id the file already carries is reported as already added, not a failure, and the file is not touched
  • A close whose item is running is refused the way work remove refuses it, naming the item and that it aborts first; the action does not stop a live item on its own
  • The action does not run an orchestrator and does not reach one over the network: the items file is the whole hand-off; a path through the orchestrator's work list API is a later change
  • Out of scope: pull request events, other issue events such as a re-open or a label coming and going, and work list and work abort from the action

Builds on the work command family: #206 (work add) and #209 (work remove), which the action calls.

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 request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions