Pipeline e stages

O harness-kit leva uma feature por seis stages com gate:

prd → prp → plan → dev → test → pr

O agent product-manager é dono dos dois primeiros e o agent staff-software-engineer dos quatro últimos. Um stage intake roda na frente: ele coleta o repo e a context library para que nenhum stage pare para perguntar, e cada stage então roda como um orquestrador com subagents folha. /pipeline:run conduz de intake até pr com dois gates humanos, depois do PRD e antes do PR.

Anatomia de um stage

Cada stage é um pequeno harness: guides como pipeline.md e templates/ dizem como escrever, referências como prp/<feature>.md e conventions/{area}.md dão contexto, um sensor bloqueia estrutura ruim e um eval pontua a qualidade.

O agent escreve o artefato em .claude/runtime/outputs/{pm,sse}/{stage}/{feature_id}.md. Ao salvar, os sensors disparam, e uma falha devolve feedback para que o agent corrija só as partes que falharam. Depois o judge responde os checks atômicos de sim ou não da rubric, e eval-score.py recalcula o total ponderado de 0 a 10 a partir dos pesos da rubric.

O judge é um avaliador Claude novo (local, o default) ou o Jev da TypeSafe AI (jev), definido por projeto com /hk:eval. Abaixo de 8.0 o stage tenta de novo até 3 vezes, regenerando só os checks que falharam. Na aprovação o agent acrescenta <!-- approved: {date} score={n} -->, e o stage seguinte procura esse marker antes de começar.

Os stages

Stage Agent Artefato Sensors Evals
prd product-manager Product Requirements Document prd-structure, prd-acceptance-criteria prd-quality, prd-readiness
prp product-manager Product Requirements Prompt prp-structure, prp-context-quality, prp-links prp-quality, prp-context-readiness
plan staff-software-engineer plano técnico plan-structure plan-quality
dev staff-software-engineer código e commits dev-structure, code-conventions, code-maintainability, test-coverage dev-quality
test staff-software-engineer relatório da execução de testes test-structure test-quality
pr staff-software-engineer pull request pr-structure pr-quality, depois arma o pr-monitor

prp-links roda link-validator.py. Os evals de readiness e o spec-satisfied sempre usam Claude, qualquer que seja o judge escolhido. System design, do agent system-architect, é um stage opcional antes de prp ou plan e fica fora desses seis.

Approval markers e tokens

O marker é <!-- approved: YYYY-MM-DD score=N -->, e o PRP também leva ready-for-handoff: true. A presença dele libera o início do stage seguinte.

Hooks envolvem cada fase, e token-phase.py soma o uso a partir do transcript do Claude em .claude/runtime/outputs/{pm,sse}/tokens/{feature_id}.json, um arquivo por agent para todo o ciclo de vida, porque todo stage reusa o feature_id. A contagem de tokens nunca bloqueia um stage; com um transcript ilegível ela registra no log e sai limpa.

Status do pipeline

hk status mostra a feature ativa. A mesma linha pode virar a status line do Claude Code, mas só se você instalar com HK_STATUSLINE=1; por padrão o harness não mexe na sua status line, porque uma configuração de projeto passaria por cima dela.

idle · /product-manager:run · /sse:run · /pipeline:continue
billing-fix · prp approved · plan drafting · next /sse:plan
billing-fix · complete

O estado mora em .claude/.pipeline-state.json. Reabra uma sessão e /pipeline:continue retoma no próximo stage pendente. Quando o PR é mergeado, o monitor limpa o estado.

Ferramentas de contexto

Os stages que leem o repo alvo rodam .claude/scripts/context-tools.sh uma vez e usam o que estiver instalado. O semble acha código pela intenção e devolve arquivo e linha, o repowise explica módulos, mede o risco de mexer neles e lista os testes que cobrem uma mudança, o context7 traz a doc atual de bibliotecas, e o joern ou o graphify dizem quem chama o quê. Sem nenhum deles, o stage volta para o grep. O context-strategy.md liga cada pergunta a uma ferramenta.

Comandos de stage único

Cada stage também é um comando próprio, com os mesmos sensors e evals. A lista de desvios está em Golden Path.

O loop SDD

/sse:sdd troca a passada única de dev e test por um loop com objetivo:

prd → prp → plan → [dev ↔ test ↔ spec-satisfied eval] → [user gate] → pr
                         loop, cap 3 iterations           stops local

O sensor de pré-voo prp-has-acceptance-criteria bloqueia um PRP que não é testável. O predicado do loop vem de Success criteria (verifiable) e Validation gates do PRP. O eval spec-satisfied de cada iteração roda numa sessão Claude nova e devolve PASS ou FAIL; um FAIL volta ao loop com uma dica next_iter_focus.

O PR nunca abre sozinho. Você lê o transcript em .claude/runtime/outputs/sse/sdd/{feature_id}.md e roda /sse:pr quando estiver pronto.

Veja também Golden Path, Sensores, Evals, Agents.

Tradução manual de Pipeline e stages, a página original em inglês na wiki.