Conn2Flow
Navegação das docs

SDD

Requisição 199 — Atualização segura, fase 3: exclusão declarativa de dados e diff/merge dos choques

Origem: Humano, 2026-09-30: promoção do BL-028, propostas C e G, conforme o parecer do Arquiteto. Lotes Vinculados: BATCH-205 (motor de choques: painel, API, CLI), BATCH-206…

Origem: Humano, 2026-09-30: promoção do BL-028, propostas C e G, conforme o parecer do Arquiteto. Lotes Vinculados: BATCH-205 (motor de choques: painel, API, CLI), BATCH-206 (extensão do VS Code), BATCH-207 (exclusão declarativa de dados). Status: em execução. BATCH-205 complete (2026-09-30, homologação humana pendente); BATCH-206 complete (extensão do VS Code, feita por agente executor na req-061 do conn2flow-ai-workspace, revisada e mesclada) e BATCH-207 complete (exclusão declarativa de dados) (o 207 depois que o trabalho da req-196 em atualizacoes-banco-de-dados.php for commitado). Aberta sem esperar versões da req-198, por pedido do Humano ("vai até o fim"). Repositório: [REDACTED]; a parte da extensão fica em [REDACTED].


Diretriz do Humano (2026-09-30): um motor de choques, nos dois sentidos

"Vai ter choques de arquivo sempre": a infraestrutura de diff e decisão é uma só e vale para subir e descer, no projeto e no core:

Subir Descer
Projeto deploy (API/pipeline) recuperação (req-200)
Core atualização do sistema recuperação do core editado no servidor (req-200)

Em todos os casos: diff de cada arquivo, decisão por arquivo (sobrescrever, manter, mesclar; "esse sim, esse não") e aplicação do resultado. A decisão pode ser tomada no CLI, na extensão do VS Code e no painel web. A req-200 usa o motor desta requisição, sem criar um fluxo próprio.

Itens

Exclusão de dados no ambiente em execução (BL-028 C)

  1. Cada deploy leva o manifesto de recursos por dono (ids naturais por tabela: páginas, layouts, componentes, variáveis, templates, widgets, hooks).

  2. O atualizador compara com o manifesto anterior do mesmo dono e remove (ou marca status='D') o que saiu.

  3. Registro editado online (user_modified) não é apagado: vira choque para decisão humana.

  4. Modo simulação com relatório antes de aplicar; a lista deletar imperativa do schema-metadata.json continua para casos pontuais.

Diff e merge dos choques (BL-028 G)

  1. Pacote do choque: antes de aplicar (ou em simulação), o ambiente devolve a lista de choques e as duas cópias de cada arquivo (a que vai ser publicada e a que está no ar), com hash e camada.

  2. CLI:

    • c2f update:conflicts <projeto> [--pull] baixa o pacote e abre o diff;

    • a decisão é por arquivo: sobrescrever, manter o que está no ar ou mesclar;

    • c2f update:resolve envia a resolução, e a atualização aplica o arquivo mesclado.

  3. Extensão VS Code (conn2flow-ai-workspace/vscode-extension): lista os choques, abre o diff lado a lado no editor nativo, marca a resolução e envia, tudo pelo CLI.

  4. Diff online em admin-atualizacoes: os mesmos choques e as mesmas três escolhas, para quem atualiza pelo painel.

  5. As resoluções ficam no registro de choques e viram a regra das próximas atualizações daquele arquivo.

Critérios de aceite

  1. Um recurso removido do repositório some do banco no próximo deploy, exceto se editado online (vira choque).

  2. Um choque de arquivo pode ser resolvido com mescla no CLI, na extensão e no painel, e a atualização aplica o resultado.

  3. Testes automatizados; homologação no Lab.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada