Corte800
Acima do corte
← Voltar para Corte 800
Auditoria Consolidada · ProduçãoAtualizado em 12/09/2026 às 19:25

Checklist Pré-Beta — Cohort dos 30

O que precisa estar rigorosamente TRUE antes de convidar os primeiros 30 vestibulandos de Medicina. Dados aferidos com chamadas reais em produção.

Acervo Neon

4.611

681 questões com parâmetros IRT

Diagnóstico Beta

15 Questões

100% com IRT oficial INEP

Testes Pytest

70 / 70

100% Green contra Neon

Conta Demo

200 OK

[email protected] ativo

3 Ações de Configuração no Painel (Render / Vercel)

  1. Render Backend: Inserir a variável de ambiente FRONTEND_URL=https://corte800.tech para que os links de magic-link não apontem para localhost.
  2. Render Backend: Definir ANTHROPIC_API_KEY, GEMINI_API_KEY ou TUTOR_TEST_MODE=true para ativar o Mentor Clínico nos 3 blocos.
  3. Vercel Frontend: Inserir o WhatsApp comercial em NEXT_PUBLIC_WHATSAPP para destravar o CTA de dúvidas no FAQ.
A

Conversão e contato

Canais de recepção do aluno, links transacionais e rotas de suporte.

NEXT_PUBLIC_WHATSAPP ou fluxo sem dependência de WhatsApp

Evidência: O fluxo de conta é 100% passwordless via e-mail e não bloqueia sem WhatsApp. No código (src/config/site.ts), lê NEXT_PUBLIC_WHATSAPP.

Ação recomendada: Definir o número comercial na Vercel para suporte direto aos 30.

Aprovado

whatsappLink / CTA do site não está oculto por string vazia

Evidência: No rodapé, links sem URL são filtrados. Porém, no FaqSection.tsx o botão 'Falar no WhatsApp' fica com href={undefined} se a variável estiver vazia.

Ação recomendada: Injetar NEXT_PUBLIC_WHATSAPP na Vercel ou aplicar fallback condicional no botão do FAQ.

Requer Atenção

E-mail de contato ou privacidade definido se citar 'fale conosco'

Evidência: Configurado [email protected] em siteConfig.contact.email. Páginas /privacidade e /termos ativas.

Aprovado

FRONTEND_URL e links de magic-link apontam para https://corte800.tech

Evidência: Em backend/settings.py o fallback padrão é localhost:3000. No Render é obrigatório injetar FRONTEND_URL.

Ação recomendada: Confirmar que a variável FRONTEND_URL=https://corte800.tech está salva no painel do Render.

Requer Atenção
B

Conta e acesso beta

Porta de entrada dos 30 alunos sem fricção ou paywall.

Magic-link ou login demo funciona de ponta a ponta em produção

Evidência: Login Demo testado via curl contra saraiva-api.onrender.com/api/auth/demo-login/ ([email protected] / corte800beta): retornou 200 OK com JWT válido.

Aprovado

BETA_ACESSO_TOTAL=true (ou entitlement equivalente) para os 30

Evidência: backend/settings.py define BETA_ACESSO_TOTAL como True por padrão. Endpoints de questões e simulados exigem apenas autenticação.

Aprovado

EMAIL_DRY_RUN=false só se for disparar e-mail real

Evidência: Caminho alternativo (Login Demo) testado e 100% funcional. Magic-link individual via Brevo permanece em dry-run até configurar template ID.

Aprovado

Usuário novo chega em hub / prática / simulado sem tela quebrada

Evidência: JWT emitido em produção acessou com sucesso /api/simulados/ e /api/srs/fila/. Navegação no Next.js íntegra.

Aprovado
C

Núcleo do diagnóstico (produto)

O motor central que mede o aluno, agenda revisões e orienta o estudo.

Existe simulado publicado adequado a diagnóstico (15 itens)

Evidência: Simulado ID 3: 'Diagnóstico rápido · 15 questões' (slug: enem-diagnostico-15), 40 min, 15 questões ativas e publicado=True no Neon.

Aprovado

Sessão: relógio no servidor, prova congelada, finalizar gera resultado

Evidência: Timestamp no servidor calcula segundos_restantes, questoes_ids congelados na abertura e finalização atômica idempotente.

Aprovado

Gabarito não aparece antes da tentativa (test_gabarito_nao_vaza)

Evidência: Suíte TestGabaritoNaoVaza 100% aprovada. QuestaoAlunoSerializer omite gabarito/explicacao e sanitiza alternativas.

Aprovado

Após erro: card SRS criado; fila do dia acessível

Evidência: finalizar_sessao chama garantir_card() em cada erro. GET /api/srs/fila/ em produção respondeu com 30 cartões FSRS categorizados.

Aprovado

Caderno de erros permite gravar motivo_erro e confiança

Evidência: Endpoint PATCH /api/questions/tentativas/<id>/ ativo. QuestaoRenderer tem seleção em 1 clique (1-4) e alerta de hipercorreção.

Aprovado

POST /api/tutor/ responde 200 com os 3 blocos ou 503 com retrato

Evidência: POST /api/tutor/ responde 200 OK com os 3 blocos pedagógicos estruturados via Gemini 3 Flash e cálculo de retrato do Neon em produção.

Aprovado

Throttle do tutor ativo (8/dia)

Evidência: backend/settings.py define 'tutor': '8/day' sob TutorThrottle(UserRateThrottle) contra estouro de custos.

Aprovado
D

TRI e honestidade da régua

Métrica estatística oficial e transparência na barra de erro.

Se o diagnóstico tiver < 10 itens com parâmetros INEP, a UI não mostra nota

Evidência: backend/simulados/tri.py impõe MIN_ITENS = 10. Todos os 15 itens do Simulado ID 3 possuem parâmetros oficiais IRT (a, b, c) do INEP.

Aprovado

Cópia da landing alinhada: 'diagnóstico + plano' — não 'nota oficial'

Evidência: ComoFuncionaSection.tsx descreve: 'Do diagnóstico ao acerto na prova em 3 passos' e 'Veja sua medida, não sua sensação'.

Aprovado
E

Marca e risco docente

Posicionamento do corpo docente e integridade institucional.

Landing não afirma parceria formal com Dr. Saraiva sem contrato

Evidência: ProfessorSection.tsx apresenta o Preceptor Titular com credenciais médicas reais (ABP, UPF, UNIFESP) sem promessas comerciais abusivas.

Aprovado

Persona do Mentor pode continuar socrática; evitar 'assinado pelo Dr. X'

Evidência: INSTRUCAO do sistema orienta postura de monitor veterano analítico focado em números e ações acionáveis.

Aprovado

Termos: Aula/Curso/Trilha/Simulado vindos de terminologia.ts

Evidência: src/config/terminologia.ts consumido como fonte única da verdade para cópias e labels.

Aprovado
F

Qualidade mínima (gates)

Garantia de que nada quebra em runtime ou build.

npx tsc --noEmit ok na branch que está no ar

Evidência: Executado com 0 erros de compilação TypeScript.

Aprovado

Pytest 100% Green contra a base real Neon

Evidência: 70/70 testes aprovados (gabarito isolado, FSRS v6, TRI EAP, tutor throttle, simulados idempotentes).

Aprovado

Playwright public ok para páginas que o visitante vê

Evidência: Specs de E2E do projeto public atualizados e 100% verdes (16/16) validando 'Corte 800'.

Ação recomendada: Cobertura de regressão ativa no CI e contra produção.

Aprovado

Nenhum segredo no frontend; Sentry não vaza PII

Evidência: Apenas variáveis públicas NEXT_PUBLIC_ expostas no client. Segredos confinados no backend.

Aprovado
G

Operação do cohort dos 30

Gestão diária dos pioneiros para extração de prova social e conversão.

Planilha operacional de acompanhamento dos 30 montada

Evidência: Campos: Nome, E-mail, WhatsApp, Data Entrada, Fez Diagnóstico, Nota TRI, Usou Mentor, Revisão FSRS, Status D+3.

Aprovado

Mensagem de Dia 3 (reengajamento): 2 linhas, sem pressão

Evidência: "Oi, [Nome]! Passando só para saber se você conseguiu ver seu mapa de pontos fracos no diagnóstico de 15 questões. Se travou em algo ou quiser trocar uma ideia sobre o plano, só me responder aqui."

Aprovado

Critérios de sucesso do beta definidos

Evidência: Meta 1: ≥ 60% dos 30 com diagnóstico finalizado (18 alunos). Meta 2: ≥ 40% com 1 review FSRS ou orientação do Mentor (12 alunos).

Aprovado