A 7-stage stage-gate SDLC pipeline for Archon, ported from the symphony-multi-agent methodology.
Triage -> Explore -> Implement -> Review -> QA -> Learn -> Done
\ \
+-> Blocked +-> Blocked
(QA failure rewinds to Implement)
Each stage has a single, opinionated job and writes its evidence to
$ARTIFACTS_DIR/<stage>.md. The QA stage is hard-gated on executing real
code — inspection-only is a failed QA. The Done stage refuses to run
without a green QA verdict.
The pipeline is language- and stack-agnostic. It works for any project that
provides a PROJECT_CONTEXT.md describing the mission, locked tech stack,
and hard rules.
.archon/
├── commands/
│ ├── symphony-triage.md # Todo -> route to Explore
│ ├── symphony-explore.md # Domain brief, plan candidates, recommendation
│ ├── symphony-implement.md # TDD loop, no code without a failing test
│ ├── symphony-review.md # Diff review, fix CRITICAL/HIGH
│ ├── symphony-qa.md # MUST execute real code (tests, curl, schema)
│ ├── symphony-learn.md # Distill learnings, write back to wiki
│ └── symphony-done.md # Terminal As-Is -> To-Be report
└── workflows/
└── symphony-pipeline.yaml # Wires the 7 commands as a depends_on chain
You can run the whole pipeline end-to-end (symphony-pipeline.yaml) or
invoke individual commands from your own custom workflows.
- Prerequisite: Archon CLI installed and working (install guide).
- Copy the
.archon/tree into your target repository:cp -r path/to/archon-symphony-pipeline/.archon/* /path/to/your-repo/.archon/ - Drop a
PROJECT_CONTEXT.mdat your repo root (seeexamples/PROJECT_CONTEXT.md.example). The pipeline reads it during Triage and Implement. - Verify Archon picks up the new files:
cd /path/to/your-repo archon workflow list | grep symphony-pipeline
# Full pipeline against a ticket file
archon workflow run symphony-pipeline \
--branch feat/my-feature \
"Implement kanban/MY-001.md"
# Or skip worktree isolation for repos without a GitHub remote
archon workflow run symphony-pipeline \
--no-worktree \
"Implement kanban/MY-001.md"
# Or invoke a single stage as a one-off
archon workflow run archon-assist \
--no-worktree \
--workflow archon-assist \
"Run the symphony-explore command against kanban/MY-001.md"Watch progress live at the Archon UI (run archon serve in a separate
terminal, then open http://localhost:3090).
| Stage | Job | Hard rule |
|---|---|---|
| Triage | Confirm request is actionable | No design, no code |
| Explore | Brief + plan options + recommendation | Must specify the first failing test |
| Implement | TDD loop on the chosen plan | No production code without a failing test |
| Review | Re-read your own diff, fix CRITICAL/HIGH | Every CRITICAL and HIGH must be fixed |
| QA | Execute real code, capture evidence | Inspection-only = failed QA |
| Learn | Update the project knowledge base | Zero wiki updates must be defended |
| Done | As-Is → To-Be report | No Done without **all green** QA verdict |
Every stage's artefact opens with a plain-language header so non-developers (PMs, designers, stakeholders) can grasp the work in ~30 seconds:
**무엇**: <한 줄, 비-개발자도 이해 가능>
**왜**: <한 줄, 어떤 가치/위험이 있는지>
**As-Is → To-Be**:
- As-Is: <한 줄, 이 단계 시작 전>
- To-Be: <한 줄, 이 단계 종료 후>
The shape works in any language — substitute **What** / **Why** / **As-Is → To-Be** for English-only projects. The body cap matters more than
the wording: each stage has explicit caps so artefacts stay scannable.
The original symphony-multi-agent project found three failure modes that unstructured agent loops fall into repeatedly:
- Skipped exploration — the agent dives into code, then has to redesign halfway through.
- Inspection-as-QA — the agent claims tests pass without running them.
- No write-back — the next ticket's agent re-discovers the same gotchas.
The seven-stage gate forces each failure mode into a separate, named gate that an outside observer (human or another agent) can reject independently.
The command files in .archon/commands/ are plain markdown — edit them.
Common adaptations:
- Replace the
무엇 / 왜Korean header with**What** / **Why**if your team is English-only. - Tighten the body caps if your team writes longer artefacts than they read.
- Add project-specific hard rules to
symphony-implement.md(Spring Boot examples → React conventions, etc.).
If you fork the prompts, leave a one-line attribution at the top of each file pointing back to this repo. That keeps the lineage clear.
- symphony-multi-agent — the original stage-gate methodology and per-state prompts.
- Archon — the workflow engine and worktree-isolated execution.
MIT — see LICENSE.