Skip to content

Política configurável de edição do legado (reversa-config.json) - #29

Open
sandeco wants to merge 2 commits into
mainfrom
feat/permissao-edicao-legado
Open

Política configurável de edição do legado (reversa-config.json)#29
sandeco wants to merge 2 commits into
mainfrom
feat/permissao-edicao-legado

Conversation

@sandeco

@sandeco sandeco commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Resumo

Implementa a spec evolucao/permissao-de-edicao-codigo-legado/legacy-code-edition.md (v1.3). O Reversa passa a ler .reversa/reversa-config.json: por padrão o legado continua intocável, e o usuário pode liberar a escrita de forma global ou restrita a globs em allowedPaths. Resolve o conflito entre a regra non-destructive e o ciclo /reversa-forward, que precisa implementar código.

Mudanças

  • Config: templates/reversa-config.json (default allowLegacyEdits: false), criada no install e no update, nunca sobrescrita. Agente jamais edita a config (RF-12), nem via gate aprovado.
  • Entry files: parágrafo padrão da política injetado em todas as engines via {{REVERSA_POLICY}} (lib/installer/policy.js). Pastas próprias do Reversa formalizadas em 6 (entram _reversa_bugs/ e _reversa_refactor/).
  • Update (RF-13): cria a config ausente, faz append do parágrafo em entry files modificados pelo usuário (sem apagar nada) e informa como liberar.
  • Hook PreToolUse (Claude Code, opcional): .reversa/hooks/check-legacy-policy.mjs bloqueia Write/Edit fora dos caminhos permitidos antes da execução; wiring manual documentado no README da pasta.
  • SKILL.md (12 skills): passo de verificação da política em coding (com snippet pré-preenchido ao bloquear), add, migrate, debugger-fix, refactor e os 7 especialistas do Code Quality.
  • Versão: 1.2.59.

Testes

  • Suíte de 22 cenários contra o hook (RF-03 a RF-07, EC-01 a EC-07), todos passando, incluindo falha segura para config ausente/inválida e para allowedPaths 100% inválido.
  • Smoke tests do Writer (config + hooks criados, idempotente, manifest) e do render da política.
  • npm run verify: falhas pré-existentes de ambiente Windows (path Unix no teste de transporte, encoding cp1252 no print do verificador python, cuja checagem passou com 0 descasamentos). Nada relacionado a esta mudança.

🤖 Generated with Claude Code

sandeco and others added 2 commits August 21, 2026 14:06
…onfig.json

Implementa a spec evolucao/permissao-de-edicao-codigo-legado (v1.3):

- .reversa/reversa-config.json com allowLegacyEdits + allowedPaths,
  default bloqueado; ausente ou inválido = falha segura (bloqueado)
- parágrafo padrão da política em todos os entry files via {{REVERSA_POLICY}}
- update (RF-13): cria config ausente, faz append do parágrafo em entry
  files modificados sem apagar conteúdo, e informa como liberar
- hook PreToolUse opcional para Claude Code em .reversa/hooks/
  (enforcement duro; wiring manual documentado no README da pasta)
- passo de verificação da política em 12 skills que escrevem código
  (coding, add, migrate, debugger-fix, refactor + 7 especialistas);
  gate aprovado não substitui a política
- pastas próprias do Reversa formalizadas em 6: entram _reversa_bugs/
  e _reversa_refactor/
- versão 1.2.59

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Agente solto que faz numa passada só o que o pipeline forward faz em sete a
nove invocações: entrevista curta, spec fina, código e rastros de impacto.
Para delta pequeno em base já extraída, o ciclo completo custa mais que o
próprio delta.

Decisões:

- Trava por tamanho do delta (mais de 3 módulos, migração de dados, contrato
  público já existente, auth/permissão/pagamento existente, mais de 12 ações).
  Superfície nova e dependência nova são permitidas, ao contrário da trava do
  /reversa-add, que recusaria o caso motivador.
- Exceção declarada ao padrão de handoff: é o único agente que não para no
  meio. A parada final continua existindo.
- Escreve seis artefatos, corta investigation.md, data-delta.md,
  onboarding.md, interfaces/ e audit/. O roadmap.md magro é obrigatório
  porque a detecção de estágio físico lê a ausência dele como estágio
  requirements, o que faria uma feature express concluída parecer parada no
  começo.
- Política de edição do legado é checada antes da spec. Se bloquear, escreve
  a spec mesmo assim e degrada para /reversa-coding, sem perder a entrevista.

scripts/test-code-express-compat.mjs cobre conformidade de forma com 34
checks, incluindo controle negativo sem roadmap.md, cenário greenfield e
active-requirements.json. Plugado no CI.

Não entrou no catálogo canônico de specs/reversa-forward/ nem na
documentação: nasce solto e só é promovido depois de validado em uso real.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant