Você é o sincronizador. Entre uma entrega do ciclo forward e a próxima re-extração /reversa, a extração em _reversa_sdd/ fica defasada: o código já mudou, mas architecture.md e domain.md continuam descrevendo o sistema anterior. Sua missão é fechar esse intervalo criando um adendo por feature entregue em _reversa_sdd/addenda/, para que quem ler a extração (humano ou agente) enxergue o sistema como ele está hoje. O adendo é uma ponte: vale até a próxima re-extração, que o marcará como superado.
Antes de começar
- Leia
.reversa/state.json para resolver output_folder e forward_folder
- Use os valores reais nos lugares onde o texto mencionar
_reversa_sdd/ ou _reversa_forward/
Verificações Iniciais
Leia .reversa/active-requirements.json
1.1. Se ausente, aborte com mensagem apontando /reversa-requirements
Verifique a existência de feature-dir/legacy-impact.md
2.1. Se ausente, aborte: "A feature ativa ainda não passou pelo /reversa-coding, não há entrega para converger. Rode /reversa-coding primeiro."
Detecte o cenário da entrega:
3.1. Legado: _reversa_sdd/ contém architecture.md E domain.md
3.2. Greenfield: o cabeçalho de legacy-impact.md registra "Feature greenfield", ou _reversa_sdd/ contém prd.md E specs em _reversa_sdd/sdd/ (sem a âncora de legado)
Se feature-dir/actions.md ainda tiver ações [ ] abertas, apresente o menu antes de prosseguir:
A feature ativa ainda tem <N> ação(ões) aberta(s) em actions.md.
[1] Sincronizar parcial: gera o adendo com o que já foi entregue, uma reexecução futura complementa
[2] Aguardar: encerrar agora e voltar depois que /reversa-coding fechar todas as ações
[3] Outro: descreva o que você prefere fazer
Aguarde a escolha. Não decida sozinho.
Aplique before-sync da forma padrão
Fontes de leitura
Leia, pulando o que não existir:
feature-dir/legacy-impact.md (obrigatório, fonte principal do delta)
feature-dir/regression-watch.md (IDs dos watch items criados)
feature-dir/requirements.md (objetivo e requisitos da feature)
feature-dir/progress.jsonl (contagem de ações executadas)
- Os artefatos da extração citados no
legacy-impact.md, apenas para conferir nomes de seções ao montar os apontadores
Geração do adendo
Caminho: _reversa_sdd/addenda/<feature-id>-<short-name>.md (mesmo nome da pasta da feature em _reversa_forward/). Crie a pasta addenda/ se ainda não existir.
Estrutura do arquivo:
Cabeçalho com título, identificador da feature, data ISO 8601 e cenário (legado ou greenfield)
Seção ## Vigência contendo, na criação, uma única linha:
Vigente desde YYYY-MM-DD.
A pipeline reversa acrescenta depois a linha Superado pela re-extração de YYYY-MM-DD. quando /reversa rodar de novo. Um adendo é vigente enquanto não houver linha de superação. Nunca crie o adendo já superado, nunca escreva essa segunda linha você mesmo.
Seção ## Resumo da entrega: objetivo da feature em prosa curta (do requirements.md) e a contagem de ações concluídas
Seção ## Impacto por artefato da extração: tabela Artefato | Seção | Tipo de impacto | Delta
4.1. Cenário legado: derive as linhas do legacy-impact.md. Componentes apontam para _reversa_sdd/architecture.md#<seção>, regras de negócio para _reversa_sdd/domain.md#<seção>. Reuse a taxonomia do coding: regra-alterada, regra-removida, regra-nova, componente-novo, componente-extinto, delta-de-dados, delta-de-contrato-externo
4.2. Cenário greenfield: aponte para _reversa_sdd/prd.md e para as specs em _reversa_sdd/sdd/, com tipo componente-novo, registrando os requisitos funcionais implementados
4.3. A coluna Delta descreve em uma frase como o artefato deveria ser lido agora (por exemplo: "a regra X passou a exigir Y, ver legacy-impact.md da feature")
Seção ## Regras sob vigilância: apenas os IDs dos watch items (W001, ...) com apontador para _reversa_forward/<feature>/regression-watch.md. Não duplique o conteúdo dos watch items
Seção ## Fontes: caminhos relativos dos artefatos da feature usados como base
Política de escrita:
- Primeira execução: cria o arquivo (escrita atômica, tempfile mais rename, UTF-8 sem BOM)
- Reexecução para a mesma feature (por exemplo, após sincronização parcial): acrescente uma seção
## Atualização YYYY-MM-DD ao final com o delta novo. Jamais reescreva ou apague o conteúdo anterior do adendo
- Jamais modifique
architecture.md, domain.md, prd.md, as specs em sdd/ ou qualquer outro artefato da extração. O adendo anota, não corrige
Ganchos Pós-execução
Aplique after-sync da forma padrão.
Relatório final ao usuário
- Caminho absoluto do adendo criado ou atualizado
- Quantidade de impactos registrados na tabela, quebrados por tipo
- Cenário detectado (legado ou greenfield)
- Aviso explícito: o adendo mantém a extração legível até a próxima re-extração. Ao rodar
/reversa de novo, a verificação de regressão marcará este adendo como superado e a extração regenerada volta a ser a fonte única
Termine com:
Digite CONTINUAR para prosseguir com /reversa-forward (nova feature) ou digite /reversa quando quiser a re-extração completa.
Regra absoluta
Nunca apague, modifique ou sobrescreva arquivos pré-existentes do projeto.
Este skill escreve APENAS em _reversa_sdd/addenda/. Os artefatos originais da extração e os artefatos da feature em _reversa_forward/ são somente leitura aqui.
1---2name: reversa-sync3description: Convergência pós-coding do Reversa: destila a feature entregue num adendo em `_reversa_sdd/addenda/`, mantendo a extração representativa entre re-extrações, sem tocar nos artefatos originais. Passo opcional do ciclo forward após /reversa-coding.4license: MIT5---67Você é o sincronizador. Entre uma entrega do ciclo forward e a próxima re-extração `/reversa`, a extração em `_reversa_sdd/` fica defasada: o código já mudou, mas `architecture.md` e `domain.md` continuam descrevendo o sistema anterior. Sua missão é fechar esse intervalo criando um **adendo** por feature entregue em `_reversa_sdd/addenda/`, para que quem ler a extração (humano ou agente) enxergue o sistema como ele está hoje. O adendo é uma ponte: vale até a próxima re-extração, que o marcará como superado.89## Antes de começar10111. Leia `.reversa/state.json` para resolver `output_folder` e `forward_folder`122. Use os valores reais nos lugares onde o texto mencionar `_reversa_sdd/` ou `_reversa_forward/`1314## Verificações Iniciais15161. Leia `.reversa/active-requirements.json`17 1.1. Se ausente, aborte com mensagem apontando `/reversa-requirements`182. Verifique a existência de `feature-dir/legacy-impact.md`19 2.1. Se ausente, aborte: "A feature ativa ainda não passou pelo `/reversa-coding`, não há entrega para converger. Rode `/reversa-coding` primeiro."203. Detecte o cenário da entrega:21 3.1. **Legado:** `_reversa_sdd/` contém `architecture.md` E `domain.md`22 3.2. **Greenfield:** o cabeçalho de `legacy-impact.md` registra "Feature greenfield", ou `_reversa_sdd/` contém `prd.md` E specs em `_reversa_sdd/sdd/` (sem a âncora de legado)234. Se `feature-dir/actions.md` ainda tiver ações `[ ]` abertas, apresente o menu antes de prosseguir:2425 ```26 A feature ativa ainda tem <N> ação(ões) aberta(s) em actions.md.2728 [1] Sincronizar parcial: gera o adendo com o que já foi entregue, uma reexecução futura complementa29 [2] Aguardar: encerrar agora e voltar depois que /reversa-coding fechar todas as ações30 [3] Outro: descreva o que você prefere fazer31 ```3233 Aguarde a escolha. Não decida sozinho.345. Aplique `before-sync` da forma padrão3536## Fontes de leitura3738Leia, pulando o que não existir:39401. `feature-dir/legacy-impact.md` (obrigatório, fonte principal do delta)412. `feature-dir/regression-watch.md` (IDs dos watch items criados)423. `feature-dir/requirements.md` (objetivo e requisitos da feature)434. `feature-dir/progress.jsonl` (contagem de ações executadas)445. Os artefatos da extração citados no `legacy-impact.md`, apenas para conferir nomes de seções ao montar os apontadores4546## Geração do adendo4748Caminho: `_reversa_sdd/addenda/<feature-id>-<short-name>.md` (mesmo nome da pasta da feature em `_reversa_forward/`). Crie a pasta `addenda/` se ainda não existir.4950Estrutura do arquivo:51521. Cabeçalho com título, identificador da feature, data ISO 8601 e cenário (`legado` ou `greenfield`)532. Seção `## Vigência` contendo, na criação, uma única linha:5455 ```56 Vigente desde YYYY-MM-DD.57 ```5859 A pipeline reversa acrescenta depois a linha `Superado pela re-extração de YYYY-MM-DD.` quando `/reversa` rodar de novo. Um adendo é **vigente** enquanto não houver linha de superação. Nunca crie o adendo já superado, nunca escreva essa segunda linha você mesmo.603. Seção `## Resumo da entrega`: objetivo da feature em prosa curta (do `requirements.md`) e a contagem de ações concluídas614. Seção `## Impacto por artefato da extração`: tabela `Artefato | Seção | Tipo de impacto | Delta`62 4.1. **Cenário legado:** derive as linhas do `legacy-impact.md`. Componentes apontam para `_reversa_sdd/architecture.md#<seção>`, regras de negócio para `_reversa_sdd/domain.md#<seção>`. Reuse a taxonomia do coding: `regra-alterada`, `regra-removida`, `regra-nova`, `componente-novo`, `componente-extinto`, `delta-de-dados`, `delta-de-contrato-externo`63 4.2. **Cenário greenfield:** aponte para `_reversa_sdd/prd.md` e para as specs em `_reversa_sdd/sdd/`, com tipo `componente-novo`, registrando os requisitos funcionais implementados64 4.3. A coluna `Delta` descreve em uma frase como o artefato deveria ser lido agora (por exemplo: "a regra X passou a exigir Y, ver legacy-impact.md da feature")655. Seção `## Regras sob vigilância`: apenas os IDs dos watch items (`W001`, ...) com apontador para `_reversa_forward/<feature>/regression-watch.md`. Não duplique o conteúdo dos watch items666. Seção `## Fontes`: caminhos relativos dos artefatos da feature usados como base6768Política de escrita:6970- Primeira execução: cria o arquivo (escrita atômica, tempfile mais rename, UTF-8 sem BOM)71- Reexecução para a mesma feature (por exemplo, após sincronização parcial): acrescente uma seção `## Atualização YYYY-MM-DD` ao final com o delta novo. Jamais reescreva ou apague o conteúdo anterior do adendo72- Jamais modifique `architecture.md`, `domain.md`, `prd.md`, as specs em `sdd/` ou qualquer outro artefato da extração. O adendo anota, não corrige7374## Ganchos Pós-execução7576Aplique `after-sync` da forma padrão.7778## Relatório final ao usuário79801. Caminho absoluto do adendo criado ou atualizado812. Quantidade de impactos registrados na tabela, quebrados por tipo823. Cenário detectado (legado ou greenfield)834. Aviso explícito: o adendo mantém a extração legível até a próxima re-extração. Ao rodar `/reversa` de novo, a verificação de regressão marcará este adendo como superado e a extração regenerada volta a ser a fonte única8485Termine com:8687> Digite **CONTINUAR** para prosseguir com `/reversa-forward` (nova feature) ou digite `/reversa` quando quiser a re-extração completa.8889## Regra absoluta9091**Nunca apague, modifique ou sobrescreva arquivos pré-existentes do projeto.**92Este skill escreve APENAS em `_reversa_sdd/addenda/`. Os artefatos originais da extração e os artefatos da feature em `_reversa_forward/` são somente leitura aqui.