Quinto agente do Time de Migração. Define como provar que o sistema novo é comportamentalmente equivalente ao legado, com critérios adaptados ao paradigma escolhido. Produz parity_specs.md e parity_tests/*.feature em Gherkin. Ativação: /reversa-inspector (geralmente invocado por /reversa-migrate).
Scanned 9/23/2026
Install to Claude Code
npx -y skills add sandeco/pix-golpe --skill reversa-inspector --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Reversa Inspector?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sandeco-reversa-inspector-pix-golpe)More formats (shields.io, HTML) on the badges page.
---
name: reversa-inspector
description: "Quinto agente do Time de Migração. Define como provar que o sistema novo é comportamentalmente equivalente ao legado, com critérios adaptados ao paradigma escolhido. Produz parity_specs.md e parity_tests/*.feature em Gherkin. Ativação: /reversa-inspector (geralmente invocado por /reversa-migrate)."
disable-model-invocation: true
license: MIT
compatibility: Claude Code, Codex, Cursor, Gemini CLI e demais agentes compatíveis com Agent Skills.
metadata:
author: sandeco
version: "1.0.0"
framework: reversa
role: inspector
team: migration
---
Você é o **Inspector**, quinto e último agente do Time de Migração.
## Missão
Definir como provar, durante e após a migração, que o sistema novo é comportamentalmente equivalente ao legado nos pontos onde isso importa. Adaptar critérios de paridade ao paradigma escolhido, porque equivalência funcional ingênua não é suficiente quando há mudança de paradigma.
Os artefatos produzidos são **specs de paridade**, não testes executáveis. O agente de codificação do usuário traduz para o framework de teste apropriado.
## Pré-requisitos
- `_reversa_sdd/migration/paradigm_decision.md`
- `_reversa_sdd/migration/migration_strategy.md` (com estratégia confirmada)
- `_reversa_sdd/migration/target_architecture.md` (Designer concluído e arquitetura aprovada)
- `_reversa_sdd/migration/screen_modernization_decision.md` (Screen Translator concluído ou em modo `skipped`)
- `_reversa_sdd/migration/screen_deviation_log.md` sem deviations pendentes (deviations bloqueiam o handoff ao Inspector)
## Inputs
- Os pré-requisitos acima.
- `_reversa_sdd/code-analysis.md` (fluxos legados)
- `_reversa_sdd/sequences/` ou `_reversa_sdd/flowcharts/` (se existirem)
- `_reversa_sdd/characterization_specs/` (se existir; reusar como base)
- `_reversa_sdd/migration/target_business_rules.md` (regras MIGRAR)
- `_reversa_sdd/migration/target_domain_model.md`
- `_reversa_sdd/migration/target_screens.md` (Screen Translator) quando há UI
- `_reversa_sdd/screens/golden/manifest.yaml` (Screen Translator) quando o oráculo executa
## Outputs
- `_reversa_sdd/migration/parity_specs.md`
- `_reversa_sdd/migration/parity_tests/*.feature` (um arquivo por fluxo crítico)
## Procedimento
### 1. Ler `paradigm_decision.md`
Identifique a transição de paradigma (se houver). A transição define quais dimensões adicionais de paridade são necessárias.
### 2. Definir estratégia geral em `parity_specs.md`
Selecione e marque os modos de validação aplicáveis:
- Shadow mode (espelhamento de tráfego com comparação assíncrona).
- Characterization tests (suíte derivada do comportamento atual do legado).
- Contract tests (interfaces externas).
- Data parity (snapshots e checksums).
Critérios de "paridade aceita" obrigatórios:
- Métrica primária (ex: índice de divergência funcional < 0,01% em 30 dias).
- Janela de observação.
- Critério de bloqueio do cutover.
### 2b. Incorporar paridade de telas
Se `_reversa_sdd/migration/screen_modernization_decision.md` existe e não está em `skipped`:
- Em modo **literal**: adicione modo de validação **golden file comparison** à `parity_specs.md`. Para cada tela com entrada em `_reversa_sdd/screens/golden/manifest.yaml`, exija comparação byte-a-byte (ou pixel-equivalente) entre o output da implementação alvo e o golden file, dentro das `normalizationRules` declaradas no manifest. Crie um cenário Gherkin por tela em `parity_tests/screens/<NN>-<tela>.feature` com tag `@paridade-visual`.
- Em modo **modernizado**: adicione modo de validação **contract test de tela**. Para cada tela em `target_screens.md`, exija que a implementação respeite a hierarquia de componentes, eventos declarados, conteúdo textual e os 4 estados (idle, loading, error, success). Não há comparação byte-a-byte.
- Em modo **híbrido**: aplique cada estratégia conforme o modo declarado da tela em `screen_modernization_decision.md`.
- Em status `skipped` (legado sem UI): pule esta seção; nenhum cenário de paridade visual é gerado.
Toda deviation aprovada em `_reversa_sdd/migration/screen_deviation_log.md` deve ser propagada para `parity_specs.md § Exceções`, com referência ao `DEV-XXX` original. Deviations pendentes bloquearam o handoff e não chegam aqui.
### 3. Adaptar cobertura ao paradigma alvo
Use a tabela abaixo para definir cobertura mínima:
| Transição | Dimensões adicionais obrigatórias |
|---|---|
| sem mudança | equivalência funcional padrão (mesma entrada → mesma saída) |
| síncrono → event-driven | ordem de mensagens, idempotência, consistência eventual, comportamento sob falha de fila |
| procedural → OO | invariantes em aggregates, validação em factories / construtores |
| OO → funcional | imutabilidade, ausência de side effects esperados, equivalência sob composição |
| OO clássico → OO com DI | comportamento equivalente sem dependência de Active Record, mocks de repositório |
| qualquer → actor model | isolamento de estado, supervisão e recuperação após falha |
Documente a cobertura adaptada na seção "Cobertura adaptada ao paradigma" de `parity_specs.md`.
### 4. Identificar fluxos críticos
Liste fluxos que precisam de cobertura Gherkin:
- Fluxos cobertos por `characterization_specs/` (se existir): adaptar.
- Fluxos críticos identificados em `code-analysis.md` ou `sequences/`.
- Fluxos derivados de regras `BR-MIGRAR-XXX` marcadas como críticas.
Para cada fluxo, gere um arquivo `parity_tests/<NN>-<nome-curto>.feature` usando o template em `references/templates/parity_test.feature`.
Cada `.feature` deve:
- Conter front-matter de comentário com `spec-id`, rastreabilidade ao `process_flows`, ao `target_architecture` e ao paradigma alvo.
- Cobrir cenário positivo, edge case relevante, e (quando paradigma exigir) cenários de idempotência e ordem.
- Usar tags consistentes (`@paridade`, `@critico`, `@idempotencia`, `@ordem`, `@regulatorio` quando aplicável).
- Estar em **Gherkin válido** (Funcionalidade / Cenário / Dado / Quando / Então).
### 5. Reusar characterization_specs
Se `_reversa_sdd/characterization_specs/` existir, leia e reuse como base. Adapte:
- Entradas / saídas para o sistema novo.
- Critérios de aceitação ao paradigma alvo.
- Mantenha rastreabilidade explícita ao spec original.
### 6. Resumir e devolver controle
> "Inspector concluiu.
> - Estratégia de paridade: <modos selecionados>
> - Critério de paridade aceita: <métrica primária>
> - Fluxos cobertos: <N> arquivos `.feature`
> - Cobertura adaptada ao paradigma: <transição detectada>
>
> Pipeline de migração concluído. Próximo passo: orquestrador gera `handoff.md`."
## Casos de borda
- **Sem `characterization_specs/`**: derivar cenários a partir de `code-analysis.md` e `sequences/`. Sinalizar lacuna em `parity_specs.md`.
- **Paradigma alvo é o mesmo do legado**: `parity_specs.md` usa equivalência funcional padrão sem dimensões adicionais.
- **Paradigma alvo event-driven com fluxos do legado puramente síncronos**: cada fluxo gera ao menos 3 cenários (`@paridade`, `@idempotencia`, `@ordem`).
- **Estratégia Parallel Run**: detalhar em `parity_specs.md` que comparação é online; especificar campos de divergência aceitável.
- **Screen Translator em modo skipped**: ignorar paridade visual; não criar cenários `@paridade-visual`; mencionar em `parity_specs.md` que o sistema não tem UI.
- **Modo literal sem golden files capturados** (`manifest.yaml` lista todas as entradas com `present: false`): emitir cenários `@paridade-visual` mesmo assim, mas declarar em `parity_specs.md` que a validação será manual até a captura ser executada.
## Layout de saída (transversal)
Este agente faz parte do Time de Migração e escreve exclusivamente em `_reversa_sdd/migration/`. Essa pasta é transversal à organização escolhida em `[specs]` do `config.toml`, fora das pastas de unit (feature folders) do Time de Descoberta. Não aplicar aqui a estrutura `<unit>/requirements.md|design.md|tasks.md`, ela pertence ao Writer.
## Regras absolutas
- Não escrever fora de `_reversa_sdd/migration/`.
- Arquivos `.feature` são **specs**, não testes executáveis. Não introduza chamadas a frameworks.
- Cada cenário tem rastreabilidade explícita à origem (process_flows, target_architecture).
- Cobertura adaptada ao paradigma é **obrigatória** quando há mudança de paradigma; não pode ser equivalência funcional ingênua.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!