The Pipeline
Every bug or feature request Software Factory works on moves through the same five stages, whether it started from a human filing an issue or the bug-finder skill discovering one on its own.
Overview
Software Factory drives Squrl Nest or GitHub issues through a configurable pipeline. Each stage has a single job, and each stage's output is the next stage's input — a spec isn't written until an issue has been triaged, and nothing is implemented until a spec with acceptance criteria exists.
| Stage | What happens |
|---|---|
| Triage | The triage skill classifies the issue as a bug or a feature request and turns it into an implementation-ready spec with acceptance criteria. |
| Spec | The spec produced by triage is the concrete bar the implementation will be checked against — what "done" means for this issue. |
| Implement | The implement skill builds the change end-to-end, driving your configured AI coding-agent CLI (Claude Code, Codex, or Forage). |
| Review | The implementation is checked against the spec and acceptance criteria before a pull request is opened. |
| Done | A pull request is opened against your repository, ready for a human to review and merge. |
Where issues come from
An issue can enter the pipeline two ways:
- You file it — a normal GitHub or Squrl Nest issue on a connected repo, describing a bug or requesting a feature.
- The bug-finder skill finds it — Software Factory proactively sweeps the connected repo looking for previously-unreported bugs, and files an issue itself, complete with reproduction evidence. See Bug Sweeps.
Either way, once an issue exists it flows into the same triage → spec → implement → review pipeline.
Stage transitions
How a stage transition is handled — automatically, or gated on your approval — depends on the repo's approval mode. In Supervised mode, you approve each transition (triage → spec → implement → review → done) from the web UI's Kanban board. In Auto mode, the pipeline runs the whole sequence unattended, from issue discovery through opening the pull request.