Pipeline Overview
The Goblin pipeline manages the complete lifecycle of an issue from assignment to completion.
The Five Stages
| Stage | Agent | Input | Output |
|---|---|---|---|
| SCOPE | Scoper | Issue description | Implementation plan |
| BUILD | Builder | Scope plan | Code changes, draft PR |
| REVIEW | Reviewer | Code diff | Approval or change requests |
| TEST | Tester | Built code | Test results, QA report |
| DONE | - | Tested code | Ready for human review |
Flow Diagram
┌─────────────────────────────────────────────────────────────────┐
│ │
│ Issue Assigned │
│ │ │
│ ▼ │
│ ┌──────────┐ │
│ │ SCOPE │ Analyze issue, create plan │
│ └────┬─────┘ │
│ │ scope-complete │
│ ▼ │
│ ┌──────────┐ │
│ │ BUILD │◀──────────────┐ Implement code │
│ └────┬─────┘ │ │
│ │ build-complete │ review-changes-requested │
│ ▼ │ │
│ ┌──────────┐ │ │
│ │ REVIEW │───────────────┘ Review diff │
│ └────┬─────┘ │
│ │ review-approved │
│ ▼ │
│ ┌──────────┐ ┌─────────────────────────────┐ │
│ │ TEST │───────────────▶ test-failed → back to REVIEW │
│ └────┬─────┘ └─────────────────────────────┘ │
│ │ test-passed │
│ ▼ │
│ ┌──────────┐ │
│ │ DONE │ PR ready, reassign to human │
│ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Starting a Pipeline
Automatic (via Daemon)
When an issue is assigned to the bot user in Linear:
# Start the daemon
goblin daemon
The daemon automatically:
- Detects assigned issues
- Creates pipeline
- Starts SCOPE stage
Manual
# Start for a specific issue
goblin pipeline start ENG-123
Monitoring Progress
CLI Status
goblin status
Output:
┌─────────────────────────────────────────────────────────────┐
│ GOBLIN STATUS │
├─────────────────────────────────────────────────────────────┤
│ Project: my-app (ENG) │
├─────────────────────────────────────────────────────────────┤
│ Active Pipelines: │
│ ENG-123 BUILD [████████░░] Building auth module │
│ ENG-124 REVIEW [██████████] Awaiting approval │
│ ENG-125 TEST [████░░░░░░] Running QA │
├─────────────────────────────────────────────────────────────┤
│ Agents: 3 active, 2 idle │
└─────────────────────────────────────────────────────────────┘
Dashboard
goblin dashboard
Opens web UI with real-time updates.
Linear Integration
Progress is automatically posted to Linear:
- Stage completion updates
- Error notifications
- QA reports
Handling Failures
Review Rejection
When reviewer requests changes:
- Pipeline returns to BUILD stage
- Builder reads review feedback
- Builder implements fixes
- Pipeline continues to REVIEW
Test Failure
When tests fail:
- Pipeline returns to REVIEW stage
- Reviewer analyzes failure
- May return to BUILD for fixes
- Pipeline continues
Max Retries
After configurable retries (default: 3):
- Pipeline enters FAILED state
- Notification sent
- Manual intervention required
# Retry failed pipeline
goblin pipeline retry ENG-123
Pipeline Configuration
# View current config
goblin pipeline config -p my-app --show
# Set assignee for auto-assignment
goblin pipeline config -p my-app --assignee-id USER_ID
# Enable preview environments
goblin pipeline config -p my-app --docker-compose docker-compose.yml
# Enable visual testing
goblin pipeline config -p my-app --playwright
DONE Stage
When all tests pass, the pipeline enters the DONE stage:
- Update Linear Status - Move issue to "Done" or "Ready for Review" state
- Reassign to Human - Reassign back to original requester for final review
- Final Comment - Post summary of changes, PR link, and test results
## Pipeline Complete: ENG-123
### Summary
- Commits: 8
- Files changed: 12
- Lines: +350, -25
### PR
https://github.com/org/repo/pull/42
### Test Results
- All 5 QA steps passed
- 2 bugs found and fixed
### Ready for human review
Next Steps
- SCOPE Stage - Detailed SCOPE documentation
- BUILD Stage - Detailed BUILD documentation
- REVIEW Stage - Detailed REVIEW documentation
- TEST Stage - Detailed TEST documentation