Solucao de Problemas
A Pontuacao e soft-fail. Erros sao logados mas nunca bloqueiam viagem. Isso torna muitos problemas silenciosos.
Uma viagem nao tem pontuacao
Sintoma: Viagem concluida existe mas sem linha em ride_safety_signals.
Verifique, em ordem:
- Subconta ativada?
subaccount_rider_score_settings.enabled = true. - Viagem terminou em estado pontuavel? Canceladas ou com erro nao sao pontuadas.
- Muito curta? Abaixo de
min_ride_seconds(60) oumin_ride_meters(200) excluida. - Log de servidor? Verificar Sentry.
- Recomputacao manual.
POST /api/internal/rider-score/recomputecom{ rideId }.
Rolante nao bate com as pontuacoes de viagem
Sintoma: Tres pontuacoes altas seguidas, mas rolante mal moveu.
Verifique:
- Quantas viagens pontuadas? Com tres, ainda Iniciante.
- Meia-vida? 90 dias mal move EWMA.
- Janela? Viagens ruins historicas ainda pesam.
- Viagens curtas excluidas?
Nivel travado
Sintoma: Pontuacao cruzou fronteira ha uma hora mas badge nao mudou.
Verifique:
rider_scores.computed_at- rolante recomputou?- Entrega de push - nivel atualiza apos push.
pickTierForScore- faixas sobrepostas?- Recomputacao manual -
POST /api/internal/rider-score/recomputecom{ customerId }.
Recompensa nao foi emitida
Sintoma: Ciclista Ouro completou viagem qualificada, pontuacao boa, mas sem credito.
Verifique rider_score_rewards para essa viagem. Campo status:
| Status | Significado |
|---|---|
issued | Emitido, vinculado a ride_refunds e wallet_transactions |
pending | Pipeline falhou - intervencao manual. Nunca criar credito de carteira a mao. |
skipped_cap | Teto mensal por ciclista atingido |
skipped_budget | Orcamento da frota exaurido |
skipped_tier_inactive | Nivel sem per_ride_credit_cents |
Nunca burlar o pipeline
Em pending, corrija a causa raiz e re-execute a engine. NAO crie credito a mao. Escritas diretas em wallet_balance corrompem net_deposited e pagamentos de parceiros.
Intervencao nao disparou
Sintoma: Pontuacao abaixo de 40 mas sem limite de acelerador.
Verifique:
- Regra da escada. Passo 4 ativado?
- Linha
rider_interventions. Intervencao passo-4 aberta? getActiveInterventionState- verificar Sentry.- Suporte IoT. Veiculos sem comandos de acelerador pulam passo 4.
- Recurso ativo. Se ciclista arquivou recurso, intervencao pausada - comportamento correto.
Desconto de capacete nao aplicou
Sintoma: Capacete verificado mas taxa de desbloqueio nao reduzida.
Verifique:
- Linha
rider_helmet_selfies.passed_atdefinido?ttl_expires_atno futuro? consumed_at- se uso unico, ja consumido.apply-uplift.ts- conectado ao fluxo de precos?- Configuracao -
helmet_discount_unlock_fee_cents> 0? - Tabela errada. Documentos antigos referenciam
helmet_verifications(CV). A tabela de Pontuacao erider_helmet_selfies.
Teste de reacao dispara repetidamente
Sintoma: Ciclista passou mas app pede novamente no proximo desbloqueio.
Verifique:
reaction_repeat_hours- padrao 6. Mais de 6h?reaction_window_*- desbloqueio na janela noturna?- Linha
reaction_tests-passed=true? - Gatilho aleatorio -
reaction_random_trigger_pct > 0?
Pontuacao nao muda apos editar pesos
Sintoma: Pesos atualizados ha uma hora, mas rolantes parecem identicos.
Esperado. Mudancas de peso:
- Afetam pontuacoes futuras imediatamente.
- Disparam recomputacao completa unica via cron noturno.
- Nao mudam retroativamente pontuacoes armazenadas.
Para recomputacao imediata: POST /api/internal/rider-score/recompute com { subaccountId }.
Entrada de auditoria faltando
Sintoma: Levantei intervencao com motivo mas nao vejo entrada em Trilha de Auditoria.
Verifique:
- Filtro de intervalo de tempo - padrao ultimos 30 dias.
- Filtro de ator - acoes do sistema nao aparecem se filtrar por seu user_id.
- Filtro de tipo - "intervention_lift" e distinto de "intervention_close".
Cron nao roda
Sintoma: Recomputacao noturna parece nunca disparar.
Verifique:
vercel.jsontem entradas para/api/cron/rider-score-recompute, etc.- Header de auth do cron - segredo compartilhado.
- Painel Vercel > Cron jobs para ultimo status.
Ainda travado?
Puxe customer_uuid e ride_uuid afetados, depois contate support@levyelectric.com.