O que funciona
HTML único sem framework
Zero build, zero dependência — atualiza arrastando um arquivo
Audit-based para Zendesk
Único jeito correto de contar produção diária por agente. updated_at falha.
Gabarito com array de respostas
Aceitar múltiplas respostas corretas evita injustiça com o aluno
overflow-x auto no container do heatmap
width:fit-content no grid interno + overflow-x:auto no container
Correção retroativa via painel admin
Corrigir gabarito sem apagar histórico — doPost update no Apps Script
localStorage para estado leve
Preferências, login, gabarito alternativo — sem banco de dados
Ler dado exato de um endpoint em vez de OCR de print
action=alts do Apps Script devolve o JSON certo — nunca transcrever código de imagem pixelizada
Catálogo VTEX público pra conferir código real
/api/catalog_system/pub/products/search?ft= — código de verdade, sem inventar de cabeça
Erros mapeados
Copiar Apps Script do chat
Caracteres invisíveis causam SyntaxError. Sempre usar o arquivo .gs salvo em disco.
Chamar script.google.com direto do navegador
Quem tem 2+ contas Google pode cair em 404 imprevisível. Sempre proxy via Cloudflare Pages Function.
wrangler kv get/list sem --remote
Lê o KV simulado local, não o de produção — parece vazio mesmo com dado real salvo.
updated_at do ticket Zendesk
Falsos positivos — conta tickets onde outro agente respondeu hoje
Vídeo Drive embutido em iframe de outro domínio
Capa carrega, reprodução falha com cookie de terceiros bloqueado. Preferir link direto como fallback.
Gabarito de prática em texto livre
Time treinado a responder com código — "DDR4 16GB" derrubou acerto pra 0-12%. Usar código BB.
GitHub Pages e Netlify
Conta excluída / confusão com domínio pago. Cloudflare é o padrão definitivo.
Modal ampliado só se TODAS as lições forem PDF
Treinamento com PDF+vídeo misturado nunca alargava — checar também o caso misto.
// mostrando um recorte curado — a lista completa das 61 lições e 8 padrões vive em knowledge_lessons_learned.md / knowledge_stack_patterns.md (memória do Claude)