Engenharia de Agentes
Versão Técnica · Blueprint

Do Vibe Coding à Engenharia de Agentes

Formação de squads, ciclo de tasks, estatutos do projeto, ciclo de review e orquestração. Baseado no que rodou em projetos reais.

~3X a 6X
velocidade de cruzeiro

Sustentável, não é pico de sprint. Spec rigorosa + squad especializada + checkpoints humanos viram entrega contínua — não um número de roadshow.

Ver o case da Régua →
A Onda do Vibe Coding

Vibe Coding tem seu lugar, mas tem um teto

Vibe coding não é vilão. É uma etapa. Reconheça o que ele faz bem antes de entender por que não basta.

O que o vibe coding fez bem

  • Reduziu a fricçãoSaímos do papel em branco em minutos. Prototipar virou esporte de baixo custo.
  • Liberou energia criativaIdeias que nunca passariam do whiteboard viraram POCs jogáveis num fim de tarde.
  • Ampliou quem pode codarPessoas de produto, design e dados conseguem montar coisas que funcionam — sem depender de uma fila de eng.

Onde encontra o teto

  • Amnésia de contextoA cada sessão o contexto se perde. É preciso reexplicar regras do zero. Resultado: regressões silenciosas.
  • Soluções no vácuoSem spec clara, a IA gera código que funciona mas resolve o problema errado. Bonito, plausível, inutilizável.
  • Spaghetti Code que compõe jurosSem visão de arquitetura, cada nova feature quebra duas que funcionavam. A dívida técnica vira chumbo no pé.
Crescimento do projeto × qualidade do output da IA

Eixo horizontal: o projeto crescendo — novas features, correções, integrações. A cada passo à direita, a chance de quebrar algo que funcionava aumenta. A linha mostra o que acontece com a qualidade do output sem disciplina.

Qualidade do output →→ Cada nova feature, correção e integraçãoO muro: o time para mais do que entrega.
Como manter a velocidade da IA sem perder o controle do que está sendo construído?
Os Três Pilares Fundamentais

Hardening é a fundação; SDD e TDD são as disciplinas que rodam sobre ela

Três pilares load-bearing, assimétricos. Hardening dá à squad papéis, constituição, task file e roteiro — é o que torna a operação repetível e não dependente de gênio. Sobre essa fundação, SDD garante o rigor da entrada e TDD prova que a saída funciona. Sem um deles, o sistema regride: sem Hardening vira improviso; sem SDD resolve o problema errado; sem TDD o bug vai a produção.

01

Hardening

A fundação que torna a squad operável e repetível — não depende de gênio. É o que transforma um LLM com um prompt num time. Tem quatro faces:

  • Papéis claros — Agentes especializados, cada um consumindo o output do anterior. O número e a composição da squad variam com o projeto — os 8 papéis deste repo são um exemplo frequente, não regra. Sem generalistas heróicos.
  • Constituição do Projeto — CLAUDE.md + convenções: stack, regras e decisões load-bearing. Onboarding instantâneo.
  • Task File Central + definições — O arquivo contínuo que acumula contexto fase a fase, com as specs de produto, técnica e teste.
  • Roteiro/ciclo + checkpoints — O arco ideação→merge com gates não-negociáveis e alocação de LLM por fase.
02

SDD — Spec-Driven Development

A especificação, não o prompt, é o artefato principal. Spec vaga produz código vago; a qualidade do output é proporcional ao rigor do input. Documentação é mandatória antes do RFD.

03

TDD — Test-Driven Development

Todo critério de aceite tem um teste que o prova. "Critério de aceite sem teste objetivo é teatro." A camada de teste é escolhida por projeto; o smoke manual é uma camada, não a estratégia inteira.

SDD em ação

A especificação é o artefato principal — não o prompt

O Pilar SDD em prática. À esquerda: um prompt solto entra direto no código. À direita: o mesmo prompt entra na esteira da squad, vira spec rigorosa, e só então código. Veja a diferença no que sai do outro lado.

Esquerda: código gerado a partir de prompts soltos. Direita: especificação caprichada com humanos especialistas dando as diretrizes em cada etapa.

Prompt
do usuário
Implementar fluxo de negativação: cliente elegível recebe notificação pelo melhor canal disponível.
vibe-coding/notify.tsxvibe coding
1function x(d, c, t) {
2 let r = d.filter(i => i.s === 'a' || i.s === 'b');
3 // porque c precisa???
4 for (var i = 0; i < c.length; i++) {
5 r = [...r, ...c[i].split(',').map(z => ({...z}))];
6 }
7 if (t == 'sms' || t == 'email' || t == 'wpp')
8 return send(r, t);
9 return r; // TODO arrumar
10}
11
12// FIXME desistiu de tipar
13const any = x(data as any, cfg, t);
14
15// roda? sim. faz o certo? quem sabe.
✗ sem testes · sem revisor · resolve o problema errado
squad/epic-007/task-12.mdsquad
PMCritérios de aceite (recorte)
AC-01. Cliente é considerado elegível quando: status_negativacao = 'pendente' E dias_atraso ≥ 5 E saldo_aberto ≥ R$ 50.
AC-02. Tentativa de notificação respeita hierarquia de canais (ADR-012).
AC-03. Falha em todos os canais → registra notification_failed no audit log e dispara alerta operacional.
AC-04. Cliente em régua de cobrança ativa não recebe nova tentativa antes de 48h da última.

Métrica de sucesso: taxa de leitura WhatsApp > 70% em 30 dias.
UXEstados de tela & microcopy
Estados (inventário completo):
  • default — lista paginada de clientes elegíveis, ordenada por dias_atraso desc.
  • loading — skeleton de 5 linhas, mantém header e filtros visíveis.
  • empty-no-eligibility — copy: "Sem clientes elegíveis no momento. Próxima janela: 06:00."
  • erro-canal-indisponível — banner amarelo: "WhatsApp Business indisponível. Fallback automático para SMS." Não bloqueia operação.
  • sucesso-com-protocolo — toast verde com número de protocolo + link "Ver no audit log".
Acessibilidade: contraste AA, foco visível em todos os botões, navegação por teclado.
ARCHContrato da API (ADR-012)
Rota: POST /notifications/dispatch
Auth: Bearer token (service account)
Body: { customerId: uuid, templateId: enum, idempotencyKey: uuid }
Respostas:
  • 202 Accepted — body: { protocoloId, canal_usado, eta_segundos }
  • 409 Conflict — cliente em cooldown de 48h
  • 422 Unprocessable — cliente inelegível
  • 503 Service Unavailable — todos os canais down (raro, alerta ops)
Idempotência: chave única por (customerId, dia). Replay seguro.
ARCHEstratégia de testes
Unit — regras de elegibilidade (AC-01) com tabela-verdade de 12 casos.
Unit — hierarquia de canais e fallback (AC-02).
Contract — schema do POST /dispatch validado contra OpenAPI, 4xx e 5xx cobertos.
Integration — repositório de clientes + audit log, contra Postgres real (testcontainers).
E2E — jornada feliz (cliente elegível → WhatsApp validado → 202) + 2 erros canônicos (canal down, cooldown).
Coverage gate: 85% em src/domain/, 70% global.
ENGImplementação (recorte)
type EligibilityResult = { eligible: true } | { eligible: false, reason: IneligibilityReason };

export function checkEligibility(customer: Customer, today: Date): EligibilityResult {
  if (customer.negativationStatus !== 'pending') return { eligible: false, reason: 'not_pending' };
  if (daysOverdue(customer, today) < 5) return { eligible: false, reason: 'within_grace_period' };
  if (customer.openBalance < 50) return { eligible: false, reason: 'below_threshold' };
  return { eligible: true };
}
QAReview · rodada 1
Conformidade: ✓ todos os AC-01..04 cobertos por testes nomeados.
Code quality: ✓ sem any injustificado · ✓ SRP respeitado · ✓ erros como tipos discriminados.
Segurança: ✓ Zod nos boundaries · ✓ idempotência implementada · ✓ audit log persistido.
Performance: ✓ sem N+1 · ✓ índice composto em (status, dias_atraso).
Cobertura: ✓ 91% em domain, 76% global. Acima do gate.

Status final: ✅ APROVADO — pronto para merge.
✓ aprovado por PM · UX · Architect · QA

Olhando os dois ao mesmo tempo

eixo
vibe coding
squad de agentes
tempo de geração
segundos
minutos
tempo até estar pronto
dias refazendo
pronto
quem mantém
só o autor (se lembrar)
qualquer dev da squad
quando a regra mudar
caça ao bug
muda a spec, regera
onde mora o conhecimento
no commit history
no task file vivo
A Formação da Squad

Oito papéis, sete comandos, memória persistente

Antes de virem usados, a squad precisa ser apresentada. Cada agente vive em .claude/agents/ versionado no repo, opera sob a regra do fluxo obrigatório (produto → UX → arquitetura → fullstack → QA → writer) e mantém memória por-projeto em .claude/agent-memory/[agente]/MEMORY.md — o que aprende em uma task fica disponível para a próxima. Sem generalistas heróicos.

🎯
Product Manager
Tradução de objetivo de negócio em especificação.
PersonasUser storiesCritérios de aceiteMétricas de sucesso
Seção "Especificação de Produto" anexada ao task file.
Tollbooth 1 — Aprovação PM/UX
🎨
UX Designer
Define fluxos, estados de UI e microcopy. Mobile-first.
Inventário de componentesEstados (default, hover, loading, error, empty, success)Acessibilidade WCAG 2.1 AAResponsividade
Seção "UX" no task file: cada estado especificado — o engenheiro não adivinha.
Tollbooth 1 — Aprovação PM/UX
🏛️
Software Architect
Decisões técnicas, contratos de API, ADRs, estratégia de testes.
ADRsType definitionsContratos (rota, auth, request, response, erros)KISS / YAGNI
Seção "Especificação Técnica" + ADRs quando há decisão arquitetural.
Tollbooth 2 — Aprovação Architect
🛠️
Fullstack Engineer
Implementa em TDD: testes primeiro, depois código, depois refactor.
TDDTipagem forteSem any injustificadoQualidade > velocidade
Seção "Log de Execução" no task file: commits, decisões locais, surpresas.
Tollbooth 3 — Pronto para Dev (entrada)
🔍
QA Reviewer
Revisa contra a spec. Aprovado, aprovado-com-ressalvas, ou reprovado.
Conformidade com ACCode qualitySegurança (validação de inputs, authz)Verificação objetiva (teste por critério)Performance
Seção "Review": data, revisor, bugs por severidade, status final.
Checkpoint humano antes do merge
📖
Tech Writer
Documenta pós-QA. Atualiza README, APIs, consolida ADRs.
API docsADR consolidationOnboarding docs
Documentação não é afterthought — é deliverable.
Pós-merge
🗂️
Task Manager
Cria, quebra e prioriza tasks. Move arquivos entre TODO/IN_PROGRESS/DONE/BLOCKED.
Quebra de épicosEstimativa S/M/LLifecycle hygiene
O sistema de arquivos como fonte da verdade do board.
Mantém o fluxo do orchestrator
🎼
Orchestrator
Coordena a squad. Lê IN_PROGRESS primeiro. Garante a progressão por fase.
Dispatch de agentesEnforcement de fasesMemória persistente
O regente — não escreve código, regula a esteira.
Garante que os tollbooths existam

Sete comandos reais orquestram a squad — /new-feature inicia uma feature num epic existente; /split-epic quebra um objetivo em tasks no TODO/; /next-task escolhe a próxima task elegível e a inicia; /architect ativa o arquiteto sobre uma task em IN_PROGRESS; /refactor gera um epic técnico com escopo e riscos; /bootstrap calibra a squad para um projeto novo; /evolve auto-evolui a squad puxando deltas do método-base. Todos vivem em .claude/commands/, versionados no repo.

O Ciclo Completo

O mapa macro: da ideação ao merge, com os três pilares vivos

Este é o arco inteiro — ideação → produto → UX → arquitetura → gate RFD → engenharia → QA → docs → code review → merge. Os três pilares operam o tempo todo: Hardening é a fundação (papéis, constituição, task file, roteiro); SDD garante o rigor da entrada; TDD prova a saída. Quatro tollbooths não-negociáveis seguram o arco. E o próprio método é versionado e constantemente evoluído — não é um manual congelado.

Ciclo de Reviewaté o consenso/architect123456
1product-manager + ux-designer
Produto & UX (Tollbooth 1)
User stories, critérios de aceite testáveis, fluxos, estados e microcopy anexados ao task file. Tollbooth 1 aprova a spec antes de a arquitetura começar — sem isso, a squad adivinharia o problema.
2software-architect/architect
Arquitetura & estratégia de teste (Tollbooth 2)
Decisões técnicas, ADRs e a estratégia de teste por critério (qual camada prova, qual comando roda). Tollbooth 2 aprova o plano. Pilar SDD: a spec, não o prompt, é o artefato.
3orchestrator
Gate RFD — entrada (Tollbooth 3)
O Ready for Dev confere que as três specs obrigatórias estão presentes (produto, técnica, teste). Faltando uma, a task volta para a fase responsável — não avança no improviso. Só então o pipeline executa.
4fullstack-engineer
Engenharia (TDD)
Código com testes primeiro: happy path, edge cases, erros. Cada critério de aceite ganha um teste que o prova — critério sem teste objetivo é teatro (lição da epic-003).
5qa-reviewer + tech-writer
QA em loop + Docs (gate RFD — saída)
QA valida contra a spec com verificação objetiva e devolve laudo; reprovado volta ao engenheiro até aprovar. O writer consolida README, ADRs e notas. O RFD de saída bloqueia se a documentação estiver incompleta.
6humano
Code review + merge (Tollbooth 4)
O quarto checkpoint é humano e não-automatizado. Não há auto-pilot em merge: alguém lê o PR, julga e aprova. Só então vai a produção.
Como o método é constantemente evoluído

Versão do método

  • METHOD-VERSION na raiz versiona o método em semver
  • MAJOR quebra o contrato da squad; MINOR é aditivo; PATCH é redação
  • Distinto da versão do artefato (site)

Journal de mudanças

  • docs/journal/vX.Y.Z.md — um arquivo por versão
  • Cada delta nomeia o arquivo-fonte e o ponto de inserção
  • CHANGELOG.md indexa, mais novo primeiro

Base canônica

  • Este repo é a origem; o template/ é a versão portátil
  • /bootstrap calibra a squad num projeto novo
  • Provenance no CLAUDE.md diz de onde a cópia puxa deltas

Auto-evolução

  • /evolve lê o journal upstream entre a versão local e a atual
  • Apresenta cada delta como checklist ao humano
  • MAJOR exige confirmação humana por delta — nunca auto-aplica
Slash commands: a orquestração também é código

Sete comandos versionados em .claude/commands/ disparam fluxos completos. Cada um ativa o agente certo no momento certo — do planejamento à auto-evolução da própria squad.

/new-featureproduct-manager
Cria uma task de nova feature num epic existente e inicia o fluxo completo da squad.
/split-epictask-manager
Recebe um objetivo, cria o epic e quebra em tasks no backlog (TODO/). Só planeja.
/next-taskorchestrator
Verifica o backlog, escolhe a próxima task elegível respeitando dependências e a inicia (TODO → IN_PROGRESS).
/architectsoftware-architect
Roda o arquiteto sobre uma task em IN_PROGRESS sem spec técnica ou com contraproposta a avaliar.
/refactorsoftware-architect
Analisa o código, gera um epic técnico com escopo e riscos e cria tasks ordenadas em TODO. Não implementa.
/bootstraporchestrator
Ativa e calibra a squad para um projeto novo (Procedimento A): entrevista, substitui tokens, semeia memórias, grava a versão do método.
/evolveorchestrator
Auto-evolui a squad puxando deltas do método-base (Procedimento B): lê o journal upstream e aplica os deltas aceitos.
Estatutos do Projeto

Regras de negócio e arquitetura vivem na raiz

Os estatutos de trabalho são parte do Hardening (a constituição do projeto): ficam onde todo mundo entra primeiro — a raiz do repo. Regras de negócio mantidas pelos donos do domínio. Decisões arquiteturais mantidas pelos arquitetos. Mesmo lugar, mesmas pessoas in the loop, mesmo histórico — onboarding instantâneo para humanos e agentes.

Regras de Negócio

CLAUDE.md · mantido pelos especialistas de domínio
OwnerProduct Manager + Especialistas de domínioCicloMudança proposta → revisão dos especialistas → atualização versionada no repo
  • São as invariantes do projeto: stack, convenções e decisões que não se renegociam por task.
  • Exemplo (case da Régua, ver Cases): 'nunca modificar o Valor Original do ERP; apenas calcular o Valor Atualizado visivelmente.'
  • Exemplo (case da Régua): hierarquia de canais — WhatsApp validado → SMS fallback → Email paralelo.
  • Cada projeto define as suas; agentes e humanos consultam antes de qualquer task começar.

Decisões Arquiteturais (ADRs)

docs/architecture/ · mantido pelo Software Architect
OwnerSoftware Architect + Tech LeadsCicloADR-NNN proposto → revisão → aceito | substituído por ADR-XXX
  • Status: proposto · aceito · substituído por ADR-XXX
  • Contexto: o problema e as restrições.
  • Decisão: o que foi decidido.
  • Consequências: o que ganha, o que perde, o que fica caro reverter.
  • Alternativas consideradas: o que foi descartado e por quê.
Tanto regras de negócio quanto decisões arquiteturais são estatutos. Convivem na raiz porque humanos e agentes consultam o mesmo lugar antes de qualquer task começar.
Task File

A unidade de trabalho é um arquivo que evolui

É a terceira face do Hardening: o trabalho se acumula num arquivo de task contínuo. Ele vive em docs/epics/epic-NNN-nome/ e fisicamente se move entre TODO → IN_PROGRESS → DONE (ou BLOCKED), acompanhando o ciclo completo. Cada agente que passa anexa uma seção — produto, UX, técnica, log, review, docs. Quando chega em DONE, o arquivo é a história completa, e o gate RFD só o libera com as três specs presentes.

PM
Especificação de Produto
Personas, user stories, critérios de aceite, métricas de sucesso.
UX
Especificação de UX
Fluxos, inventário de componentes com todos os estados, microcopy, acessibilidade.
Architect
Especificação Técnica
ADRs referenciados, contratos de API, types, estratégia de testes. KISS e YAGNI.
Engineer
Log de Execução
Commits referenciados, decisões locais, surpresas. TDD: tests-first, sem any injustificado.
QA
Review
Data, revisor, bugs por severidade. Status: ✅ Aprovado | ⚠️ Aprovado com ressalvas | ❌ Reprovado.
Writer
Notas de Documentação
README atualizado, API docs publicadas, ADRs consolidados. Documentação como deliverable, não afterthought.
Exemplo real: epic-004-base-canonica (este repo)
O épico que tornou este repositório a base canônica do método foi quebrado em 13 tasks, fase a fase (spec → arquitetura → engenharia → QA → docs). Cada task.md vive em docs/epics/epic-004-base-canonica/DONE/ com seu log de execução completo; o epic.md mapeia as fases e mantém a contagem por status. Quando uma task entra em BLOCKED, o motivo fica registrado no próprio arquivo — não em chat efêmero. O método operando sobre si mesmo.
docs/epics/epic-001-negativacao/IN_PROGRESS/task-007-cep-validation.md
# Task 007 · Validação de CEP no fluxo de negativação
Metadata: { epic: 001, size: M, priority: high, status: IN_PROGRESS }

## PM · Especificação de Produto

Personas, user stories, critérios de aceite, métricas de sucesso.

## UX · Especificação de UX

Fluxos, inventário de componentes com todos os estados, microcopy, acessibilidade.

## Architect · Especificação Técnica

ADRs referenciados, contratos de API, types, estratégia de testes. KISS e YAGNI.

## Engineer · Log de Execução

Commits referenciados, decisões locais, surpresas. TDD: tests-first, sem any injustificado.

## QA · Review

Data, revisor, bugs por severidade. Status: ✅ Aprovado | ⚠️ Aprovado com ressalvas | ❌ Reprovado.

## Writer · Notas de Documentação

README atualizado, API docs publicadas, ADRs consolidados. Documentação como deliverable, não afterthought.
Fluxo Diário

Caminhar o mapa: a rotina mãos-na-massa de uma task

Se O Ciclo Completo é o mapa macro, o Fluxo Diário é caminhá-lo task a task. Cinco estações na esteira; nelas vivem os quatro checkpoints humanos. As três specs (produto, técnica, teste) precisam estar no task file antes de o gate RFD abrir a engenharia — e o quarto checkpoint, o code review + merge, é humano e fecha a task. Uma entrega cuidada, testada, observável, documentada, evolutiva, sustentável.

Planejamento
task-manager
Comando inicial quebra o projeto em tasks. Cada task ganha metadata (épico, size, prioridade).
Validação da Spec
product-manager + ux-designer
Especificação de produto e UX anexadas ao task file. Tollbooth 1 — bloqueia se vago.
Validação Técnica
software-architect
ADRs, contratos de API, tipos, estratégia de testes. Tollbooth 2 — bloqueia se inviável.
Engenharia (TDD)
fullstack-engineer
Testes primeiro (happy path + edge cases + erros), implementação, refactor. Tollbooth 3 abriu — começa.
QA & Writer, depois code review
qa-reviewer + tech-writer + humano
QA assina contra a spec. Writer atualiza README, APIs, consolida ADRs. Então o Tollbooth 4 — code review humano — lê o PR e aprova. Só então, merge.
Tollbooth 1

Aprovação PM/UX

Spec de produto + UX revisada e assinada.
Sem clareza de problema e fluxo, código vai resolver a coisa errada.
Tollbooth 2

Aprovação Architect

ADRs registrados, contratos definidos, estratégia de testes acordada.
Decisão arquitetural cara depois. Pagar barato agora.
Tollbooth 3

Pronto para Dev (RFD)

Task migra de TODO para IN_PROGRESS. As três specs (produto, técnica, teste) estão presentes. Engineer começa.
Antes daqui, zero linha de código foi escrita. Planejamento é barato.
Tollbooth 4

Code review + merge

Checkpoint humano final: revisão do código e merge em produção. Não-automatizado.
Sem piloto automático em merge. A intenção e o juízo final são humanos.
Planejamento é barato, retrabalho é caro. As três primeiras aprovações ocorrem antes de qualquer linha de código — e o gate RFD só abre a engenharia com as três specs presentes no task file. O quarto checkpoint, o code review + merge, fecha a task: humano, sem auto-pilot.
A jornada: do prompt à entrega completa
💭
Intenção / Prompt
Tollbooth 1 · PM/UX
Tollbooth 2 · Architect
Tollbooth 3 · Pronto p/ Dev
📦
Entrega completa
🛻
✓ Entrega completa
  • Atende a demanda
  • Sem débito técnico
  • Cobertura de testes unitários e integrados
  • Aprovado no fluxo de QA
  • Documentado
  • Instrumentado com observabilidade
  • Sustentável no tempo
  • Autodocumentado pelo processo
O Novo Superpoder

Agora você tem uma squad inteira ao seu dispor

Antes, uma pessoa ocupava um papel dentro da squad — uma peça de uma engrenagem maior. Agora, cada pessoa comanda uma squad inteira. O papel muda — e o que sai do outro lado muda mais ainda.

Como era
  • Cada pessoa cobria uma parte do trabalho.
  • Esperava o review humano em fila.
  • Documentava depois (se sobrasse tempo).
  • QA era etapa separada, com handoffs lentos.
  • Onboarding de quem chega: semanas.
→
Como é agora
  • Você orquestra PM, UX, Architect, Engenheiro, QA e Writer ao mesmo tempo.
  • Code review é ciclo contínuo, em minutos, com critérios objetivos.
  • Documentação sai pronta da esteira — não é afterthought.
  • QA roda em paralelo, gera TODOs, fecha consenso.
  • Onboarding lê o histórico dos épicos — dias, não semanas.
↓ Retrabalho

Spec validada antes do código elimina ida-e-volta de regra de negócio.

↑ Entrega

Quem comanda a squad entrega features inteiras — não pedaços.

× Replicável

O método não depende de gênio. Vira capacidade do time — cada pessoa amplia sua potência de entrega.

✓ Qualidade

Testes, observabilidade e docs são parte do default, não opcional.

A IA já sabe escrever código. Você agora escreve a estratégia, valida a intenção e garante o resultado.
A Nova Trindade

Input cuidadoso · Execução especializada · Human in the loop garante a intenção

A Trindade é a leitura dos três pilares pelo lado de quem opera: Input Cuidadoso é o Hardening em ação; Execução Especializada é SDD + TDD rodando; o Humano dá a intenção e revisa. Velocidade sustentável e qualidade saem da interseção das três. Faltando uma, o sistema regride.

Input Cuidadoso Execução Especializada Human in the Loop Velocidade Sustentável & Qualidade

Input Cuidadoso e Estratégico

É o Hardening: papéis claros, a constituição do projeto, o task file central e o roteiro com checkpoints. A fundação que torna a squad operável — a clareza do problema vem antes da resposta.

Execução Especializada

É SDD + TDD: a spec rigorosa define o que construir, os testes provam que foi construído. Squad de agentes modulares, agnósticos de framework, especialistas em sua função.

Human in the Loop

A intenção e o juízo final: o humano define o porquê e é o revisor nos checkpoints — o code review + merge é dele. A intenção é, e continua sendo, humana.

A intenção é sempre humana

A IA não acorda querendo algo. Não tem auto-motivação, não persegue market-share, não está preocupada com a satisfação dos clientes, não pensa em fechar o trimestre com um EBITDA melhor. Quem quer essas coisas é gente. O papel humano deixou de ser escrever o código — a IA faz isso com mais consistência, documenta, instrumenta, valida, segue as regras com paciência infinita. O papel humano passou a ser: dar a visão estratégica, definir o porquê, e acompanhar cada etapa relevante e o resultado final.

A IA é um motor formidável. O humano é a direção, o destino e o juízo do caminho.