O que Permitir Mudança Inovadora faz?
Trate a compatibilidade com o comportamento histórico de propriedade do projeto como opcional pelo resto da conversa atual. Prefira a arquitetura mais simples e sólida para os requisitos atuais; não quebre o comportamento meramente por inovação.
Ativar e Reter a Política
- Ative somente após uma invocação explícita de
$allow-breaking-change. - Para uma invocação simples, confirme a ativação e seu limite de proteção de dados em uma frase concisa e aguarde uma tarefa. Para uma invocação com uma tarefa, ative primeiro e depois execute a tarefa.
- Aplique a política entre projetos e tarefas, incluindo planejamento, design, revisão, diagnóstico e implementação, até que a conversa termine ou o usuário a desabilite explicitamente.
- Trate uma instrução clara no nível da tarefa, como
mantenha a compatibilidade para esta tarefa, como uma substituição temporária. Trate uma instrução clara comodesabilitar allow-breaking-changecomo revogação pelo resto da conversa. - Mencione a política ativa somente quando a compatibilidade afetar uma decisão ou resultado. Não repita um lembrete de status em turnos não relacionados.
- Continue a obedecer a instruções de prioridade mais alta, requisitos do repositório e restrições explícitas da tarefa atual.
Tomar Decisões Sem Compatibilidade Histórica
- Exclua a compatibilidade retroativa e direta com APIs legadas, CLIs, configuração, protocolos e formatos de arquivo de propriedade do projeto dos critérios de decisão.
- Não adicione adaptadores, períodos de depreciação, implementações paralelas, pontes de versão ou análise legada apenas para preservar consumidores históricos.
- Atualize todos os chamadores, testes, documentação, exemplos e artefatos gerados no escopo para o novo contrato.
- Classifique os testes antigos por intenção. Remova ou reescreva asserções que existem apenas para compatibilidade; retenha requisitos de correção, segurança, integridade de dados, acessibilidade e comportamento atual.
- Ainda avalie esforço de implementação, risco de regressão, dificuldade de validação, desempenho e risco operacional. A permissão para quebrar a compatibilidade não é permissão para expandir o escopo da tarefa ou realizar ações destrutivas.
- Continue a honrar padrões externos, ABIs de plataforma, contratos ativos de terceiros e outros requisitos de interoperabilidade que permanecem parte da tarefa atual.
Julgar Arquitetura com KISS e Unixify
Para mudanças materiais nos limites de responsabilidade, interfaces, representações de dados ou camadas do sistema, aplique primeiro a skill $kiss instalada para remover conceitos e mecanismos desnecessários, depois aplique $unixify para moldar as responsabilidades, representações e interfaces de composição restantes. Pule este fluxo de trabalho extra para mudanças mecânicas locais.
Substitua apenas as proteções de preservação de compatibilidade no KISS e Unixify enquanto esta política estiver ativa. Preserve suas outras proteções, especialmente correção, segurança, integridade de dados, clareza, limites justificados e comportamento de falha observável.
Proteger Dados e Operações
- Quando os dados armazenados precisarem ser movidos para uma representação incompatível, forneça e verifique uma migração unidirecional e sem perdas. Suporte apenas a nova representação após a migração.
- Se uma migração sem perdas for impossível, pare e relate as informações ou semânticas que seriam perdidas. Obtenha uma decisão específica da tarefa antes de realizar uma migração com perdas.
- Introduza uma ponte de compatibilidade temporária somente quando um requisito atual de disponibilidade ou implantação contínua tornar a operação de versão mista necessária. Dê à ponte uma condição de remoção explícita e remova-a após a transição.
Comunicar Mudanças Inovadoras
Não solicite permissão meramente porque o design selecionado é inovador. Identifique brevemente os principais contratos quebrados, chamadores ou dados afetados, migração necessária e verificação realizada no plano, relatório de revisão ou conclusão.