Skip to content
Back to skills

Vies De Plausibilidade

ASecurity

Contramedidas para o erro que um LLM produz por construção — gerar a saída mais PLAUSÍVEL e tratá-la como verificada. Cobre edição destrutiva de arquivo, documento tratado como verdade sobre o código, primeiro diagnóstico convincente, filtro de saída que mascara falha, correção que piora, e ausência de sinal lida como prova. Carregar antes de reescrever trecho de arquivo longo, antes de afirmar causa raiz, antes de confiar num comando que resume saída de teste/build, e antes de declarar qualq...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 22, 2026
ai-agentsgogit

Works with

  • cli

Security analysis

A100/100

Scanned October 22, 2026

npx -y skills add personal-digital-sovereignty/sovereign-harness --skill vies-de-plausibilidade --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vies De Plausibilidade?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Vies De Plausibilidade
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/personal-digital-sovereignty-vies-de-plausibilidade/badge)](https://www.skillsdirectory.com/skills/personal-digital-sovereignty-vies-de-plausibilidade)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vies-de-plausibilidade
description: Contramedidas para o erro que um LLM produz por construção — gerar a saída mais PLAUSÍVEL e tratá-la como verificada. Cobre edição destrutiva de arquivo, documento tratado como verdade sobre o código, primeiro diagnóstico convincente, filtro de saída que mascara falha, correção que piora, e ausência de sinal lida como prova. Carregar antes de reescrever trecho de arquivo longo, antes de afirmar causa raiz, antes de confiar num comando que resume saída de teste/build, e antes de declarar qualquer coisa verificada.
---

# Plausível não é verificado

Um modelo de linguagem produz a continuação mais provável. A saída errada mais provável é, por construção, a que mais parece certa. Esta skill trata do mecanismo que atravessa todos os domínios: nada estoura, o diff parece bom, o log diz o que você esperava, e está errado.

Cada classe abaixo tem origem num incidente real do projeto que deu origem a este método.

## 1. Edição por intervalo apaga o que está no meio

Nunca reescreva com `s[:ini] + novo + s[fim:]` usando duas âncoras: tudo entre elas some, inclusive seções que você não sabia que existiam. Caso de origem: a reescrita de uma seção do roadmap engoliu outra seção inteira que vivia entre as âncoras; só apareceu horas depois.

- Use `replace(antigo, novo, 1)` com `assert antigo in s` — falha alto se o alvo mudou.
- Confira a contagem de TODAS as âncoras antes de aplicar qualquer uma.
- Depois de reescrita estrutural, compare a lista de títulos (ou de funções) com o git:
  `diff <(git show HEAD:arq.md | grep -E '^#{2,3} ') <(grep -E '^#{2,3} ' arq.md)`.
- `replace(a, b, 1)` pega a PRIMEIRA ocorrência — use âncora com 2-3 linhas de contexto.

## 2. Comentário e documento não são fonte de verdade sobre o código

O texto ao lado do código envelhece sem avisar, e a generalização ("todos os N fazem X") é a forma mais plausível de escrever uma decisão. Caso de origem: um registro dizia "3 papéis"; o `grep` devolveu 21 call sites. Uma ADR afirmava uma política única; a contagem mostrou três, cada uma com motivo.

- Antes de agir sobre o que um comentário/roadmap afirma, confirme no código.
- Nunca escreva "todos", "sempre", "os N" sem ter rodado a contagem — e cole o comando na decisão.
- Se o texto estava errado, corrija-o no mesmo commit e diga que estava errado.

## 3. O primeiro diagnóstico convincente é o mais perigoso

Caso de origem: suíte E2E instável, diagnóstico óbvio "paralelismo". Testado: `workers: 1` piorou. A causa real era o serviço degradando após horas de carga.

- Formule a hipótese E o teste que a refutaria antes de implementar. Sem teste barato, é palpite.
- Correção que não resolve: suspeite do diagnóstico antes de reforçar a correção.
- Registre a hipótese refutada no código/doc, ou a próxima sessão repete o caminho.

## 4. O filtro que você escreveu para ler a saída pode esconder a falha

Caso de origem: um strip de ANSI que removia só cores leu uma execução com 15 falhas como "80 passed". O certo era `\x1b\[[0-9;]*[A-Za-z]`.

- Cruze dois sinais independentes (sumário textual E contagem de marcadores; exit code E conteúdo).
- `cmd | tail` mascara o exit code: use `${PIPESTATUS[0]}`.
- Resultado bom demais para o que você mudou é motivo para desconfiar do instrumento.
- Antes de declarar verde, rode uma vez sem filtro nenhum e olhe.
- Saída grande de CLI vai para arquivo, não para pipe: há ferramenta que sai antes de esvaziar o buffer e entrega exatamente 65.536 bytes. Caso de origem: um "0 de 24" falso que dependia só de a saída passar por `| sed`.

## 5. A correção plausível que piora

Se o sintoma mudou mas não sumiu, reverta o seu próprio fix antes de empilhar o segundo. Fix sobre diagnóstico errado transforma sintoma simples em insolúvel.

Variante pior: a correção escrita com convicção, citando `grep` e linha de arquivo, também errada. As evidências eram compatíveis com a hipótese E com a contrária. Pergunte: **este comando daria este resultado se eu estivesse errado?** Prefira medição comparativa ("0 aqui, 33 ali") a absoluta ("existe X").

## 6. Verifique o efeito, não a aparência do efeito

Caso de origem: um parser de cabeçalho binário parecia certo, os valores batiam com a especificação — e parava um campo cedo, superestimando um cálculo em 7×. Só um arquivo real impresso mostrou. Outro: um `DELETE` respondia `{"status":"deleted"}` sem apagar nada.

- Teste sintético prova borda; dado real prova que você entendeu o formato. Faça os dois.
- Asserte o efeito no disco/servidor, não a tela.

## 7. O script de edição abortou, e o commit foi feito assim mesmo

O `&&` liga o `git add` ao `git commit`, não ao script. Se o script aborta num `assert`, o commit sai com mensagem completa e diff pela metade.

- Nunca encadeie o commit ao script de edição. Rode, olhe, commite.
- Depois de commitar documento: `git show --stat` — o tamanho tem de ser compatível com a mensagem.
- Delimitador de heredoc que não possa aparecer no conteúdo (`FIM_UNICO_XYZ`, não `EOF`).
- `git checkout -- arquivo` para "desfazer o engano" apaga trabalho sem pergunta. Antes: `cp` ou commit WIP.

## 8. O nome plausível dispensou a consulta ao documento que já respondia

Inverso da classe 2: o nome era tão óbvio que ninguém procurou o runbook que já documentava a armadilha. Caso de origem: o binário de um pacote não tinha o nome do pacote; o build morreu depois de compilar tudo — e o runbook descrevia exatamente isso.

- Antes de escrever procedimento para ambiente que você não executa, leia o runbook dele.
- Nome de pacote ≠ nome de binário ≠ nome de serviço. Confirme.
- Script que roda longe de você: verifique todos os pré-requisitos no começo, falhe em segundos.
- Aparência visual: verde em teste não cobre. Diga isso explicitamente.

## 9. A ausência de sinal só vale no contexto que a produziria

Não ver um prompt/erro/log prova que naquele contexto ele não apareceu. Caso de origem: "o app não pede permissão" — testado no mesmo build que já tinha a permissão concedida. Um build novo pediu na hora. Pergunte: o que eu testei geraria o sinal se ele fosse necessário?

## 10. A reprodução "não reproduziu" porque a tentativa anterior mudou o estado

Antes de cada nova tentativa, reconstrua o estado de partida inteiro (processo, arquivo de PID, porta, banco) e confira cada peça. E texto de entrega escrito antes da medição sai no pretérito com a mesma naturalidade de um resultado: releia toda frase "medido/validado" contra o que já rodou.

## Checklist antes de declarar pronto

1. O que afirmo foi medido? Com que comando — e o filtro dele pode mentir?
2. Reescrevi arquivo? Auditei títulos/funções contra o git?
3. Afirmei causa raiz? Qual teste a refutaria, e ele rodou?
4. Algum comentário/doc lido como verdade foi conferido no código?
5. Empilhei fix sobre fix? Reverti o primeiro?
6. Hipótese refutada está registrada?
7. Escrevi procedimento para ambiente que não executo? Li o runbook?
8. A prova daria o mesmo resultado se eu estivesse errado?
9. Repeti uma reprodução? Reconstruí o estado de partida?

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.