feat: add the work-items action - #1
Merged
Merged
Conversation
A composite GitHub action that turns issue events into orchestrator work items: an issue opened adds an item to the work items file, a closed issue removes it. The action carries its own spinloop, works the file in the caller's repo, and commits and pushes the result with the workflow's token. The label gate and template render live in a small node helper; a re-run of an event is a no-op, and a close whose item is running is refused the way work remove refuses it. Adds a copy-paste workflow to the README, an actionlint workflow, and a manual end-to-end workflow.
gh issue create does not support --json/--jq; it prints the issue's URL. Read the number off the end of it.
outofcoffee
marked this pull request as ready for review
September 17, 2026 08:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A composite GitHub action that turns issue events into orchestrator work
items: an issue opened adds an item to the work items file, a closed issue
removes it. The file is the backlog the orchestrator works, so a backlog of
issues becomes the backlog it picks up, with no operator in between.
Key changes
work-items/— the composite action. It resolves its own spinloop (arelease, or a
binaryinput), applies the label gate and template renderin a small node helper, works the file via
work add/work remove, andcommits and pushes the result with the workflow's token.
work-items/README.md— a copy-paste workflow and the input reference..github/workflows/lint.yml— actionlint on push and PR, checking theworkflows and the action's inputs through the e2e reference.
.github/workflows/e2e.yml— a manual end-to-end run that builds spinloopfrom source and works a real issue through the action: add, re-add no-op,
remove, re-remove no-op, and the label gate.
A re-run of an event is a no-op. A close whose item is running is refused the
way
work removerefuses it — the action does not stop a live item on its own.Closes spinloop-ai/spinloop#223