Ir para o conteúdo

Pipeline de análise

O Reversa transforma um sistema legado em especificações executáveis em 5 fases. Cada fase tem agentes específicos, e o orquestrador central coordena tudo para que aconteça na ordem certa.


Visão geral

Fase 1          Fase 2        Fase 3              Fase 4        Fase 5
Reconhecimento  Escavação     Interpretação       Geração       Revisão
   Scout        Archaeologist    Detective            Writer       Reviewer
                               Architect

Agentes independentes que rodam em qualquer fase: Visor, Data Master, Design System


Fase 1: Reconhecimento

Agente: Scout

O Scout faz o primeiro tour no projeto. Como um corretor de imóveis que visita um imóvel pela primeira vez: não abre gavetas, não lê todos os documentos, só mapeia o território.

O que ele produz:

  • Inventário completo do projeto (inventory.md)
  • Lista de dependências com versões (dependencies.md)
  • Estrutura de dados em JSON para os próximos agentes (.reversa/context/surface.json)

Depois que o Scout termina, o Reversa usa o surface.json para personalizar a Fase 2: em vez de uma tarefa genérica "analisar o código", o plano vira uma tarefa por módulo identificado.

Também é nesse momento que o Reversa apresenta o resumo do Scout e pergunta o nível de documentação (doc_level): essencial, completo ou detalhado. A escolha define quais artefatos cada agente vai gerar nas fases seguintes — veja Como usar para a tabela completa.


Fase 2: Escavação

Agente: Archaeologist

O Archaeologist escava o terreno módulo a módulo. Com paciência e precisão, cataloga cada artefato: funções, algoritmos, estruturas de dados, fluxos de controle. Ele não interpreta nem julga. Só descreve com precisão o que está lá.

Importante: o Archaeologist roda um módulo por sessão, de propósito. Projetos grandes têm muitos módulos, e tentar analisar tudo de uma vez consome contexto e reduz a qualidade da análise.

O que ele produz:

  • Análise técnica consolidada (code-analysis.md)
  • Dicionário de dados (data-dictionary.md)
  • Fluxogramas em Mermaid por módulo (flowcharts/[modulo].md)
  • Dados estruturados por módulo (.reversa/context/modules.json)

Fase 3: Interpretação

Agentes: Detective + Architect

Aqui a análise deixa de ser descritiva e vira interpretativa. Dois agentes trabalham em paralelo nessa fase.

O Detective é o Sherlock Holmes do time. Olha para o que o Archaeologist catalogou e pergunta: "Mas por que isso está aqui? Quem tomou essa decisão? O que o histórico git revela?". Extrai regras de negócio implícitas, ADRs retroativos, máquinas de estado e matrizes de permissão.

O Architect é o cartógrafo. Sintetiza tudo em documentação arquitetural formal: diagramas C4 nos três níveis (Contexto, Containers, Componentes), ERD completo, mapa de integrações, dívidas técnicas.

O que eles produzem:

  • Domínio e regras de negócio (domain.md)
  • Máquinas de estado em Mermaid (state-machines.md)
  • Matriz de permissões (permissions.md)
  • ADRs retroativos (adrs/)
  • Diagramas C4 (c4-context.md, c4-containers.md, c4-components.md)
  • ERD completo (erd-complete.md)
  • Visão arquitetural geral (architecture.md)

Fase 4: Geração

Agente: Writer

O Writer é o tabelião do time. Transforma tudo que foi descoberto nas fases anteriores em contratos formais: especificações SDD por componente, specs OpenAPI para as APIs, user stories para os fluxos de usuário.

Cada afirmação nas specs é marcada com a escala de confiança: 🟢 CONFIRMADO, 🟡 INFERIDO ou 🔴 LACUNA.

O Writer não gera tudo de uma vez. Ele monta um plano, apresenta para você aprovar, e depois gera um arquivo por vez, esperando confirmação antes de continuar. Isso permite revisão incremental e evita desperdício de contexto.

O que ele produz:

  • Specs por componente (sdd/[componente].md)
  • Specs de API (openapi/[api].yaml)
  • User stories (user-stories/[fluxo].md)
  • Matriz de rastreabilidade código-spec (traceability/code-spec-matrix.md)

Fase 5: Revisão

Agente: Reviewer

O Reviewer tenta furar as specs. Encontra contradições internas, conflitos entre specs diferentes, afirmações marcadas como 🟢 que são na verdade inferências, comportamentos óbvios não especificados.

Ele também coleta as lacunas 🔴 que só você pode resolver e apresenta como perguntas para validação humana. Depois que você responde, ele atualiza as specs e gera o relatório final de confiança.

Bônus: se o plugin do Codex estiver ativo na sessão, o Reviewer pode solicitar uma revisão cruzada independente antes de fazer a sua própria análise.

O que ele produz:

  • Perguntas para validação (questions.md)
  • Relatório final de confiança (confidence-report.md)
  • Lacunas sem resposta (gaps.md)
  • Specs atualizadas in-place com as reclassificações

Agentes independentes

Esses agentes não pertencem a uma fase específica e podem ser acionados a qualquer momento:

Agente Quando usar
Visor Quando você tiver screenshots do sistema disponíveis
Data Master Quando houver DDL, migrations ou modelos ORM para analisar
Design System Quando houver arquivos CSS, temas ou screenshots de interface