Vision
Wave is not just a code review tool or a PR automation system. It is a general-purpose task runner for code and other deliverables. Pipelines are interchangeable, composable chunks — users shouldn't need to know the difference between a "pipeline" and a "composition". There should be hundreds of standard pipelines, and compositions bring them together into massive workflows.
Current State
We have ~60 pipeline YAML files, many overlapping:
- 4+ variants of PR review/rework (
ops-pr-review, ops-pr-rework, ops-pr-fix-review, impl-review-loop)
- Multiple impl variants that differ only in scaffolding (
impl-issue, impl-feature, impl-refactor, impl-hotfix)
- Audit pipelines that could be composed from smaller chunks (
audit-dual = audit-security + audit-quality)
ops-pr-fix-review is a monolithic leaf pipeline when it should be a composition of granular steps
Target Architecture
Principle: Compose everything
- Leaf pipelines do ONE thing (review, triage, fix, reply, scan, test, etc.)
- Compositions wire leafs together — they are thin orchestrations with no inline logic
- Users run compositions. Leaf pipelines are implementation details.
- Same leaf step is reusable across many compositions — no duplication
Example: Full PR lifecycle composition
scan-issues → split-if-needed → implement → review → triage → fix → reply → resolve-conversations → merge
Each arrow is a leaf pipeline. The composition just defines the graph.
Example: Autonomous issue triage
fetch-issues → classify-priority → assign-labels → split-epic → create-sub-issues → schedule-impl
Hundreds of standard pipelines
- Code: lint, test, build, format, security-scan, dead-code, dependency-check
- Review: pr-review, code-review, security-review, agent-review, self-review
- PR lifecycle: pr-create, pr-update, pr-reply, pr-merge, pr-close, pr-rebase
- Issue: issue-scan, issue-triage, issue-split, issue-assign, issue-close
- Forge: release-create, release-harden, changelog-generate, tag-create
- Documentation: doc-scan, doc-fix, doc-generate, doc-onboard
- Meta: pipeline-validate, pipeline-compose, pipeline-dry-run
Compositions are disposable
- Compositions are created per-task, not per-project
wave run compose --steps "scan → impl → review → fix → reply" (future CLI)
- Or define in YAML for recurring workflows
- The same leaf pipelines power all compositions — no lock-in
Scope
Related
Vision
Wave is not just a code review tool or a PR automation system. It is a general-purpose task runner for code and other deliverables. Pipelines are interchangeable, composable chunks — users shouldn't need to know the difference between a "pipeline" and a "composition". There should be hundreds of standard pipelines, and compositions bring them together into massive workflows.
Current State
We have ~60 pipeline YAML files, many overlapping:
ops-pr-review,ops-pr-rework,ops-pr-fix-review,impl-review-loop)impl-issue,impl-feature,impl-refactor,impl-hotfix)audit-dual=audit-security+audit-quality)ops-pr-fix-reviewis a monolithic leaf pipeline when it should be a composition of granular stepsTarget Architecture
Principle: Compose everything
Example: Full PR lifecycle composition
Each arrow is a leaf pipeline. The composition just defines the graph.
Example: Autonomous issue triage
Hundreds of standard pipelines
Compositions are disposable
wave run compose --steps "scan → impl → review → fix → reply"(future CLI)Scope
Related