You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Origem: item #3 (P0) do backlog da auditoria do PRD em docs/auditoria-prd/2026-10-15-lacunas-prd.md (PR #74).
Lacuna: Envio de OTP por SMS real (provedor + telefone do paciente)
Tipo: código + externo. Por que esta prioridade: Sem SMS o paciente só entra com o ACS presente gerando um QR (R6): não há login por conta própria fora do ambiente de dev; a escolha de provedor/contrato é de produto.
Evidência e o que falta, por ID
RF01 (parcial): Fluxo CPF + nascimento + OTP em auth.requestOtp/verifyOtp; passwordless_auth_service_test.dart passa; e2e real em scripts/qa/patient_full_e2e.sh (2026-09-30). Único gateway é LoggingSmsGateway (backend/sinalacs_server/lib/src/application/auth/sms_gateway.dart:36), que só escreve o código no log em APP_ENV=development. — falta: Escolher e integrar provedor de SMS (implementar SmsGateway); criar coluna de telefone do paciente (hoje o destino é o CPF, sms_gateway.dart:12).
MVP-LOGIN-60S (parcial): Fluxo OTP funciona (RF01). — falta: SMS real e medição com 10 pacientes.
M2.1 (parcial): Login, alerta, triagem e status no app do paciente (RF01, RF03, RF04, RF05). — falta: SMS real (RF01) e o estado Atendido do status (RF05).
R6 (parcial): O ACS pode gerar quantas vezes quiser um convite QR de uso único para paciente da microárea dele (backend/sinalacs_server/lib/src/endpoints/onboarding_endpoint.dart:21), e completeEnrollment emite uma sessão do paciente (onboarding_endpoint.dart:37,70): é metade do fallback por QR. Nenhum provedor de SMS (RF01). — falta: Entrada sem o ACS presente quando o SMS falha; biometria; múltiplos provedores de SMS.
Medido em 2026-10-15 a partir de develop em 92106d1.
Activity