Communitygithub.com

TheColliery/CoalLedger

Suíte de teste de integridade documental (doc-rot canary) para agentes de IA de codificação. Detecta conteúdo documental desatualizado usando marcadores mecânicos e julgamento semântico, com correções controladas por escolha do usuário.

O que é CoalLedger?

O **CoalLedger** é uma habilidade canária de integridade documental (doc-rot) desenvolvida pelo TheColliery para agentes de IA de codificação (como Claude Code, Cursor, Codex, etc.). Ele funciona como um sistema de alerta precoce para conteúdo documental que o tempo invalidou. O mecanismo opera em duas camadas: uma camada mecânica (Quick) que identifica marcadores de idade (versões, datas, tarefas mortas, badges desatualizadas) sem custo, e uma camada semântica (Full) que analisa o contexto e caça por conteúdo obsoleto sem marcadores. As descobertas são classificadas como CONFIRMED (quando o estado atual contradiz o documento) ou SUSPECTED (baseado apenas em inferência). A severidade é determinada pelo contexto, não por um mapa fixo. As correções são sempre apresentadas como um menu de escolha ao usuário, nunca aplicadas automaticamente. O sistema suporta múltiplos formatos de documentação (.md, .mdx, .rst, .adoc, .org, .txt) e é agnóstico a idiomas para marcadores mecânicos, mas com ressalvas para idiomas mal suportados na camada semântica. Além disso, o Coalledger inclui um segundo canário que monitora discretamente mudanças na documentação e alerta quando o MEMORY.md não é atualizado.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add TheColliery/CoalLedger

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Doc-Rot (Podridão Documental)

Responda no IDIOMA do USUÁRIO; mantenha termos técnicos, comandos, caminhos e IDs de verificação inalterados.

Encontre conteúdo de documentação que o tempo invalidou. Relate podridão CONFIRMADA; coloque o meramente antigo em SUSPEITO.

Parâmetros

  • ESCOPO: arquivos nomeados (padrão quando fornecidos) | arquivos de documentação tocados nesta sessão | documentação completa do repositório — .md/.mdx/.markdown/.rst/.txt/.adoc/.asciidoc/.org (confirme primeiro se > 20 arquivos).
  • TIER: Rápido = apenas marcadores mecânicos de idade (~gratuito) · Completo = julgamento semântico de obsolescência (pago). Padrão de .coalledger.json quickVsFull; Completo sempre requer consentimento separado.

Marcadores de idade (camada mecânica — detecção determinística)

marcadorsinal
string de versãoo documento nomeia uma versão mais antiga que a versão atual do projeto (compare com a fonte da verdade da versão, ex.: o manifesto)
carimbo de datauma data de "última atualização" / revalidar-ate / verificado-em muito no passado ou já passada
marcador de tarefa mortaTODO / FIXME / "em breve" / "ainda não" sem sinal de vida
badge desatualizadaum badge de status/versão codificado que o estado do repositório contradiz

A detecção é determinística; se um marcador significa PODRIDÃO não é — uma data antiga em um arquivo de arquivo é aceitável, em um guia de instalação não é.

Método

  1. Rápido: colete marcadores de idade conforme a tabela. Velho ≠ podre: um marcador sozinho cai em SUSPEITO.
  2. Completo: julgue cada marcador no contexto e caçe por PODRIDÃO sem data — instruções para uma superfície que mudou, alegações que um documento posterior substituiu (contradição pura entre documentos ativos pertence à consistência documental; podridão é o eixo do tempo).
  3. Confirme antes de CONFIRMADO: uma descoberta é CONFIRMADA apenas quando o estado atual contradiz o documento (a fonte da versão nomeia uma versão mais nova; a superfície referenciada não existe mais). Qualquer coisa inferida permanece SUSPEITO.
  4. Severidade por CONTEXTO (nunca um mapa fixo), depois respeite severityFloor: instruções de instalação/segurança podres que os leitores seguem = ALTA-CRÍTICA; um badge ou menção de versão desatualizados = MÉDIA; uma data antiga em um documento arquivado = BAIXA.

Limite de escalação

Se uma afirmação FOI VERDADEIRA algum dia é tarefa do fundamento documental; a verificação formal de uma afirmação de alto risco escala para CoalBoard (/coalboard) se essa habilidade estiver instalada. Este canário só responde "o tempo quebrou isso?".

Saída

| # | caminho:linha | marcador | evidência (estado atual) | severidade | correção |

Tabela CONFIRMED apenas; SUSPEITO (antigo mas não comprovado) como lista separada, nunca na tabela principal.

Relatório: chame ReportFindings quando disponível — arquivo/linha DEVE ser a linha do próprio marcador, nunca uma paráfrase; uma linha irresolvível reporta seu melhor palpite, nomeando impreciso no resumo final, nunca descartado. Severidade prefixada em summary (ex.: [HIGH] …) conforme regra de severidade por contexto acima, ordenado do mais severo primeiro, SUSPEITO (antigo mas não comprovado) como verdict: PLAUSIBLE; o chat então carrega apenas a linha de resumo (contagens · lista SUSPEITO · estouro acima de 32) + o menu de correção, nunca uma reafirmação. Não disponível → a tabela acima, inalterada. Um clique 'Aplicar correções' = consentimento para a classe Apply-safe-fixes abaixo (apenas atualizações de valor atual inequívocas), compondo com — nunca contornando — o modo de Correção. Após qualquer rodada de correção, re-relate as mesmas descobertas com outcome: fixed/skipped/no_change_needed.

Modo de correção (escolha controlada)

Após qualquer relatório em uma sessão interativa, você DEVE apresentar este menu via sua ferramenta de pergunta (pule apenas quando as descobertas forem zero ou nenhum usuário estiver presente). NUNCA corrija automaticamente um documento ativo.

  • Aplicar correções seguras: apenas atualizações cujo valor atual seja inequívoco (atualizar uma string de versão para a do manifesto, atualizar uma data que o usuário confirme, deletar um TODO que o usuário confirme como morto). Cada correção: ponto de verificação (git stash/commit em um repositório git; caso contrário, copie o arquivo para o lado — nunca assuma que git existe) -> aplicar -> reler as linhas alteradas.
  • Deixe-me escolher: liste as descobertas; o usuário seleciona.
  • Apenas relatório: saia inalterado.

NUNCA corrija automaticamente: reescrever instruções substituídas (uma decisão de conteúdo), deletar seções, qualquer coisa cuja verdade atual você não verificou.

Multilíngue

Marcadores de idade são independentes de idioma (versões, datas e badges parecem iguais em qualquer idioma de prosa; FORMATOS de data variam — analise pela estrutura, não pelo nome do mês em inglês). O julgamento semântico degrada-se para sinalizadores de baixa confiança em um idioma mal tratado, nunca falsos alarmes.

Relatório de problema

Se este canário se comportar mal, OFEREÇA registrar em https://github.com/TheColliery/CoalLedger/issues com um resumo revisado pelo usuário — nunca envie automaticamente.

Habilidades Relacionadas