CC-Canary: Detecte Regressões no Claude Code com Análise Local de JSONL

✍️ OpenClawRadar📅 Publicado: April 24, 2026🔗 Source
CC-Canary: Detecte Regressões no Claude Code com Análise Local de JSONL
Ad

CC-Canary é uma ferramenta de detecção de deriva para o Claude Code, empacotada como duas Skills de Agente instaláveis. Ela escaneia os logs de sessão em JSONL que o Claude Code já escreve em ~/.claude/projects/, detecta se o modelo tem derivado no seu próprio trabalho e produz um relatório forense compartilhável. Sem rede, sem conta, sem telemetria, sem daemon em segundo plano — executa sobre dados já no seu disco. Status: 0.x / pré-alfa.

Instalação

Instale via npx skills:

npx skills add delta-hq/cc-canary

Ou instale skills individuais:

npx skills add delta-hq/cc-canary --skill cc-canary npx skills add delta-hq/cc-canary --skill cc-canary-html

Requisitos: Python 3.8+ no PATH. macOS/Linux/WSL para abertura automática do relatório HTML (caso contrário, exibe o caminho).

Uso

Em uma sessão do Claude Code:

/cc-canary 60d /cc-canary-html 30d

A janela padrão é de 60 dias; aceita 7d, 14d, 30d, 60d, 90d, 180d.

O Que Você Obtém

  • Veredito — ESTÁVEL / SUSPEITA DE REGRESSÃO / REGRESSÃO CONFIRMADA / INCONCLUSIVO
  • Tabela de métricas principais — comparação antes vs depois com faixas verde/amarelo/vermelho
  • Barras de tendência semanal — custo (USD, verificado contra o ccusage), razão leitura:edição, loops de raciocínio, tokens/turno
  • Comparação entre versões — mesmo usuário, diferentes versões do modelo, controlando pela mistura de tarefas
  • Data de inflexão detectada automaticamente — quebra no índice de saúde composto
  • Conclusões com classificação lado do modelo / lado do usuário / ambíguo
  • Apêndices — profundidade de pensamento por hora do dia, mudança de frequência de palavras, transição de visibilidade do pensamento em três períodos, taxas de comportamento por turno
Ad

Métricas Acompanhadas

  • Razão Leitura:Edição — leituras de arquivo por edição; proxy para profundidade de investigação
  • Participação de Escrita nas Mutações — Escrita / (Edição + Escrita); alta participação = reescrever em vez de edições cirúrgicas
  • Loops de Raciocínio / 1K chamadas de ferramenta — frases como "deixe-me tentar novamente", "oh, espere", "na verdade"
  • Taxa de Frustração — taxa de palavras de frustração em seus prompts
  • Taxa de Redação de Pensamento — fração de blocos de pensamento redigidos vs visíveis
  • Comprimento Médio do Pensamento — proxy para profundidade de raciocínio
  • Turnos de API por Turno de Usuário — chamadas de API por mensagem do usuário
  • Tokens por Turno de Usuário — volume total de tokens por mensagem do usuário

Mais apêndices para parada prematura, erros auto-admitidos, vocabulário de atalho, interrupções do usuário, etc.

Como Funciona

  1. Escaneamento — Script Python (apenas stdlib) percorre ~/.claude/projects/**/*.jsonl, filtra por janela, exclui sessões de subagentes.
  2. Deduplicação — Mensagens do assistente são deduplicadas por (message.id, requestId) porque o Claude Code escreve a mesma mensagem em múltiplos JSONLs quando sessões são retomadas ou ramificadas.
  3. Agregação — Métricas por sessão: mix de ferramentas, razão leitura:edição, frases de loop de raciocínio, erros auto-admitidos, paradas prematuras, interrupções, uso de tokens, custo (taxas atuais do Claude 4.x), profundidade de pensamento por hora do dia.
  4. Detecção de inflexão — Índice de saúde composto por dia; argmax de |antes − depois| sobre datas candidatas com piso de 0,75σ. Usa divisão por mediana de timestamp se nenhuma quebra for significativa.
  5. Pré-renderização do relatório — Script escreve esqueleto markdown/HTML com todas as tabelas e gráficos de barras preenchidos. ~20 espaços narrativos deixados para Claude preencher.
  6. Preenchimento e salvamento — Claude lê o esqueleto, escreve a narrativa, salva o arquivo final. Tempo total de execução: ~2,5s script + 10–20s narrativa de Claude.

📖 Leia a fonte completa: HN AI Agents

Ad

👀 See Also