Tudo o que um usuário tropeça antes de reclamar.
Cada tela é visitada em cada aparelho e por cada tipo de usuário. O que aparece uma vez só não vira achado: acima de menor, o problema precisa reaparecer em duas visitas de confirmação.
Layout
Texto cortado, elementos sobrepostos, rolagem lateral, alvos de toque pequenos, fonte abaixo do legível.
tap-target-pequenoAcessibilidade
As regras do axe-core em cada tela, com o elemento exato e o que se esperava dele.
contraste-insuficienteConsole
Erros de JavaScript da própria aplicação, separados do ruído de terceiros.
console-errorRede
Respostas 4xx e 5xx que a tela não esperava, com a requisição que falhou.
resposta-inesperadaControles
Botões e links que não fazem nada. Cada controle é clicado; o que tentaria gravar é bloqueado e contado.
controle-mortoJornadas
Fluxos de várias telas, do jeito que o usuário anda: entrar, comprar, convidar, voltar.
jornada-interrompidaE também, fora do veredito até você admitir: desempenho (LCP e CLS), segurança básica (cabeçalhos e cookies), contrato da API (OpenAPI com Schemathesis) e o app Android real, com as mesmas regras dentro da WebView.
O produto fica no seu repositório. A Telafina, fora dele.
Tudo o que é do seu produto mora num adaptador em qa/telafina/: quem são os usuários, como entram, quais telas existem, o que nunca clicar. Trocar de produto é trocar de adaptador.
Adaptar
Um arquivo TypeScript no seu repositório declara personas, aparelhos, rotas e ações proibidas. A checagem de conformidade diz o que falta.
Medir
Uma rota em menos de um minuto, ou o produto inteiro em segundo plano. A execução sobrevive ao fim da sessão e retoma de onde parou.
Confirmar
Cada achado novo é medido de novo, duas vezes, na mesma versão do código. Corrida de carregamento não vira defeito.
Relatar
Relatório em Markdown para gente, JSON para programas, SARIF para o GitHub e JUnit para o CI. Com recorte do elemento e o comando para reproduzir.
Ela olha. Não mexe no que não é dela.
Um agente que clica em tudo precisa de proteções que não dependem de adivinhar o rótulo de um botão.
A varredura não escreve
Todo pedido que não seja leitura é bloqueado na rede, qualquer que seja o nome do botão. Um clique que tentaria gravar é contado como "escreveria" e segue.
Nunca em produção
A varredura só roda em desenvolvimento. Em produção existe apenas a vigia: jornadas somente-leitura, de hora em hora, com alerta por e-mail.
Gasto com teto
US$ 30 por execução e US$ 100 por mês, por produto e por ambiente. O limite é conferido antes de cada chamada de IA, não depois da fatura.
Versão em cada achado
Cada medição registra o commit servido. Se o código muda no meio, o resto da execução é marcado como velho e não conta.
No terminal, no editor ou na sessão do seu agente.
Linha de comando
A fonte da verdade. Tudo o que a Telafina faz tem um comando, com saída para gente e para programas.
Servidor MCP
Oito ferramentas no VS Code, no Claude Code ou no Cursor: medir, acompanhar, ler achados, comparar execuções, remedir uma correção.
Skill
Ensina a sessão de código quando medir, como ler um achado e como confirmar que a correção funcionou.
$ telafina check personas cliente, gestor, anônimo ok saúde /api/health ok rotas 68 lidas do router ok $ telafina measure --route /pedidos 7 aparelhos · 3 personas · 21 células 1 achado sério, confirmado 2× fonte-pequena · 11 px · iPad paisagem $ telafina verify 1f88a924 corrigido · 0 de 2 visitas reproduzem
Você decide até onde ela vai.
Cada produto sobe um degrau por vez, e só por uma mudança revisada e mesclada no seu repositório. Nenhum degrau inclui mesclar código.
Medir
Mede e relata. Não toca no código.
Corrigir com você
Propõe correções numa cópia de trabalho própria, medida de novo; você revisa cada uma.
Abrir o PR
Corrige, mede e abre o pull request sozinha. A decisão de mesclar continua sua.