Metodologia de limpeza: regras, padrões e limites

Descreve as regras implementadas, padrões por página, riscos, exemplos reproduzíveis e limitações.
Sep 5, 2026

O que o limpador local faz

O limpador local do HumanFlow transforma texto com regras determinísticas de caracteres e padrões. Com a mesma entrada, o mesmo conjunto de regras habilitadas e as mesmas opções de travessão, o mecanismo produz a mesma saída e a mesma lista ordenada de alterações; ele não pede a um modelo de linguagem que infira o sentido. Cada alteração registra o ID e a categoria da regra, os intervalos de origem e saída, o valor removido, o valor de substituição, informações Unicode relevantes e se a regra é considerada destrutiva.

Os padrões seguros visam artefatos de formatação que normalmente não expressam palavras: controles ocultos compatíveis, espaços inseparáveis, tabulações, espaços horizontais repetidos, espaços no fim da linha e linhas em branco em excesso. Regras opcionais podem alterar Markdown ou pontuação e, por isso, começam desativadas no limpador geral de texto com IA.

Registro de regras

Os padrões desta tabela vêm do registro de regras do mecanismo. Predefinições de página podem substituí-los; os padrões efetivos da página inicial e das ferramentas especializadas em cada localidade aparecem na tabela inserida abaixo.

ID da regraPadrão do mecanismoRiscoComportamento implementado
hidden-unicodeAtivadaMais segura, ainda requer revisãoRemove controles C0/C1 compatíveis, caracteres de largura zero, marcas direcionais, word joiner e BOM; preserva quebras de linha comuns e tabulações.
normalize-nbspAtivadaMais segura, ainda requer revisãoSubstitui U+00A0 NO-BREAK SPACE por U+0020 SPACE.
normalize-tabsAtivadaMais segura, ainda requer revisãoSubstitui caracteres de tabulação por espaços comuns.
collapse-spacesAtivadaMais segura, ainda requer revisãoReduz sequências de espaços horizontais repetidos ou NBSP a um espaço comum.
trim-trailing-whitespaceAtivadaMais segura, ainda requer revisãoRemove espaços e tabulações no fim das linhas.
collapse-blank-linesAtivadaMais segura, ainda requer revisãoReduz sequências com mais de uma linha em branco a uma linha em branco.
remove-markdown-headingsDesativadaDestrutivaRemove os sinais de cerquilha no início de títulos Markdown, preservando o texto do título.
remove-markdown-emphasisDesativadaDestrutivaRemove marcadores de ênfase com asteriscos.
remove-markdown-code-fencesDesativadaDestrutivaRemove linhas de cercas de código com três crases, preservando o conteúdo cercado.
remove-markdown-linksDesativadaDestrutivaSubstitui um link Markdown em linha pelo texto âncora visível e descarta o destino.
normalize-smart-quotesDesativadaDestrutivaSubstitui aspas tipográficas simples e duplas por aspas ASCII.
replace-em-dashDesativadaDestrutivaSubstitui U+2014 pelo hífen, espaço, ponto ou saída vazia selecionados.
replace-en-dashDesativadaDestrutivaSubstitui U+2013 de forma independente pela saída selecionada.

“Mais segura” não significa adequada a todos os documentos. Tabulações e espaços repetidos podem representar recuo de código ou alinhamento de tabelas; conectores de largura zero e marcas direcionais podem ter significado em textos multilíngues. Cada regra pode ser selecionada separadamente, e Desfazer restaura a entrada original mantida no estado do navegador.

Sobreposições e ordem das alterações

O mecanismo primeiro reúne edições propostas sobre o texto original, ordena-as pela posição de origem e prioridade da regra e rejeita edições de prioridade inferior que se sobreponham. Em seguida, constrói a saída da esquerda para a direita e registra os intervalos de saída após cada substituição aceita. Isso impede que várias regras habilitadas editem duas vezes o mesmo trecho de origem e mantém estáveis os intervalos de origem para revisão.

Por exemplo, uma sequência de espaços inseparáveis pode corresponder tanto à regra de espaços repetidos quanto à regra de NBSP individual. O mecanismo aceita a substituição da sequência, de prioridade mais alta, e ignora as substituições sobrepostas de caracteres individuais. Assim, relata uma transformação para esse trecho de origem, em vez de alterações contraditórias.

Exemplos reproduzíveis

O corpus de testes do repositório inclui entrada vazia, prosa limpa, Unicode misto, Markdown, pontuação, texto multilíngue, código, JSON e um documento determinístico extenso. Outros exemplos verificam intervalos exatos de origem e saída, identificação nomeada de U+200B, normalização de tabulação, preservação do conteúdo de cercas de código, preservação do texto âncora de links Markdown e cada predefinição de ferramenta especializada.

Um exemplo mínimo é A[U+200B]B[U+00A0]C. Com os padrões seguros, a saída esperada é AB C. Uma frase limpa com aspas tipográficas e travessão permanece idêntica byte a byte porque as regras de pontuação estão desativadas. Um título Markdown também permanece intacto com os padrões seguros; o removedor específico de formatação habilita deliberadamente sua predefinição Markdown.

Políticas de ferramentas especializadas

As quatro ferramentas específicas compartilham o mesmo mecanismo em vez de reimplementar transformações:

Os testes automatizados de política exigem quatro assinaturas distintas de regras padrão, conteúdo exclusivo suficiente, um exemplo específico por página e uma alteração de saída ao processar o exemplo de cada predefinição. Isso evita publicar quatro ferramentas que só mudam o texto.

Limite de privacidade

A limpeza local é executada no navegador; um teste do código proíbe solicitações fetch com texto e ações de servidor no componente cliente. A lista permitida de eventos de análise contém apenas regras e totais agregados. O humanizador de IA é outro recurso e pode encaminhar o texto enviado pelo servidor a um provedor de modelos configurado. O verificador de padrões de escrita também funciona localmente, mas oferece sinais heurísticos, não conclusões de autoria. Consulte a privacidade do produto.

Limitações

O limpador não consegue determinar se um texto foi escrito por uma pessoa ou por um modelo. Não pode prometer remover marcas d’água estatísticas, melhorar posições em buscas, contornar detectores de IA ou preservar o sentido após toda alteração opcional de pontuação ou Markdown. Ele reconhece apenas os padrões documentados aqui. Markdown aninhado, sintaxe complexa de links, marcação personalizada, estilos de rich text e metadados de área de transferência específicos de aplicativos podem ficar fora desses padrões.

Valide código, JSON, tabelas, texto bidirecional e a composição tipográfica específica do idioma no aplicativo de destino. Diferenças visíveis e saída determinística permitem a revisão, mas não a substituem.

Versão e política de alterações

A versão atual do esquema do mecanismo de formatação local é 1. IDs de regras são valores estáveis de API usados por predefinições de página, listas permitidas de análise, testes e conteúdo de governança. Uma mudança de comportamento deve atualizar as expectativas dos testes e esta metodologia na mesma versão. Novas regras destrutivas devem começar desativadas. Remover ou renomear uma regra exige migração explícita, pois políticas salvas e registros centralizados de SEO podem referenciar esse ID.

Esta metodologia foi revisada pela última vez em relação à implementação do repositório em 2026-09-05. Datas futuras de revisão devem refletir uma auditoria real do código e da configuração, não um carimbo de data gerado automaticamente.

Regras padrão efetivas por página

A tabela reflete a configuração salva das páginas localizadas. O registro do mecanismo ativa seis regras de formatação e desativa sete regras de Markdown e pontuação; as predefinições de página podem substituí-las.

Predefinição da páginaIDs de regras ativas por padrão
Iníciotrim-trailing-whitespace, collapse-blank-lines
Remover formatação de IAnormalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines, remove-markdown-headings, remove-markdown-emphasis, remove-markdown-code-fences, remove-markdown-links
Remover caracteres invisíveisNenhuma
Remover travessãoreplace-em-dash
Corrigir espaços de IAnormalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines