Pular para o conteúdo

Questões Abertas — Gaps e Ambiguidades

5 gaps de orçamento + 21 edge cases (EC-01 → EC-21) + 3 tensões abertas.


Postura de time sênior: cada gap tem default proposto pra MVP + custo de reverter. Cliente Master Espresso só precisa decidir os 5 itens marcados Sim na última coluna — os outros 16 procedem com o default a menos que ele vete. Defaults são recomendações de engenharia pra manter momentum, não decisões finais de produto.

IDDefault recomendado pra MVPReversibilidadePrecisa Cliente Master Espresso?
EC-01 / RN-0139 municípios RMSP/IBGE (ASSUMPTION-03)média — lista hardcoded, mas excluir município = cliente bloqueadoSim
EC-02 ✅Pagar.me — Pix Automático + cartão recorrente (ratificado por Gabriel 2026-06-09, Lane X)alta — adapter PaymentGateway ainda disponível se precisar pivotar pra MercadoPago em S2Não (decidido)
EC-03Tela de sucesso = sub-tela de T7 (não T8)alta — só routingNão
EC-04Modelar comodato + assinatura adicional (escolha runtime)média — schema permite ambosNão
EC-05Cliente cancela via Self-service Ato 5 (já modelado)altaNão
EC-06Reset senha via magic link (Supabase Auth default)altaNão
EC-07Mobile-first via Tailwind breakpoints desde T1altaNão
EC-08Extrair componente SelecaoCesta reutilizável T1/T2/T3 ↔ T10altaNão
EC-09Skip pra MVP — orçamento parte de contrato Gabriel↔Cliente Master Espresso, não do códigobaixa — afeta escopo + cronogramaSim
EC-10Guard duplo idempotente: status==Ativa AND NOT cobranca_em_andamentomédia — toca money, exige testeNão
EC-11Sem CMS pra MVP — seed catálogo em JSON tipado no repo (ou edição direta tabela Supabase). Redeploy pra mudar preço.alta — admin UI vira sprint futuro sem tocar storefrontNão
EC-12Correios PAC + Melhor Envio API. Confirmação entrega = upload manual CSV pra MVP (webhook depois)alta — adapter LogisticsProviderNão
EC-13Cheque duplo sessão + BD (ASSUMPTION-02) → roteamento T3/T6/T7 por personaaltaNão
EC-14Ex-cliente: reusa CEP do cadastro + cria nova assinatura (não reativa antiga). Transições Cancelada→Ativa via novo registro.altaNão
EC-15 / RN-07Proposto: 12 meses fidelidade, multa proporcional ao restante (ASSUMPTION-04)baixa — termo contratual, peso legalSim
EC-16Supabase Auth: magic link + e-mail único; sessão expira → carrinho em localStorage volátilmédiaNão
EC-17Resend e-mail only pra MVP, SMS deferred. Interface Notifier permite adicionar canal depois.alta — adapter swapNão
EC-18Enforcer só RN-11 (≥1 café); pular max-por-SKU até evidência de abusoaltaNão
EC-19Reusa estado Suspensa com flag origem ∈ inadimplencia,cliente — sem estado Pausada separadoalta — menos transições pra testarNão
EC-20PedidoMontado = job batch dia 10. RastreamentoAtualizado = upload manual CSV pra MVP, webhook Melhor Envio em Fase 3-4.altaNão
EC-21Wire ops-stack (Sentry + Better Stack uptime + PostHog) na Fase 3-4 — não bloqueia desenvolvimentoalta — onboarding via skill scaffoldNão
ASSUMPTION-05Cobrança dia 10 / corte D-3 (mensal fixo)média — config change, mas toca money de cada clienteSim

Total · 4 decisões realmente bloqueiam Cliente Master Espresso: EC-01 lista Grande SP · EC-09 orçamento · EC-15 fidelidade comodato · ASSUMPTION-05 dia de cobrança. EC-02 gateway saiu da lista — Pagar.me ratificado por Gabriel em 2026-06-09 (Lane X research). As outras 16 já têm caminho técnico e procedem por default.


IDDescriçãoStatus
EC-01Definição de “Grande SP” não especificada — ViaCEP retorna município/estado, não pertencimento à região metropolitanagap_pendente
EC-02 ✅Gateway de pagamento — Pagar.me ratificado 2026-06-09 (Pix Automático + cartão recorrente na mesma API, score 8/10 agentic). Stripe descartado (não suporta Pix Automático recorrente em BR). Asaas demoted. Aguarda Cliente abrir conta produção Pagar.me antes de S3decidido
EC-03”Tela de sucesso” é Tela 7 ou Tela 8? — contagem de telas (13 vs 14) depende dessa decisãogap_pendente
EC-04Comodato vs assinatura de máquina — diferenças contratuais, financeiras e regras de devolução não detalhadasgap_pendente
EC-05Fluxo de cancelamento pelo cliente ausente — Painel Admin tem “Cancelar” mas não há auto-cancelamento no Painel Clientegap_pendente
EC-06Fluxo de reset de senha ausente — Tela 6 menciona login mas não recuperação de senhagap_pendente
EC-07Responsividade tratada só na Fase 4 — mobile não é requisito das telas individuaisgap_pendente
EC-08”Tela Alteração de Recorrência” reutiliza Telas 1-2-3 — deve ser reuso de componente/serviço, não duplicaçãogap_pendente
EC-09Orçamento completamente ausente do BRIEF — ver seção abaixogap_pendente
EC-10”Forçar Cobrança” sem rate-limit ou auditoria — ação de alto risco sem restrições documentadasgap_pendente
EC-11Backstage de catálogo ausente — sem comando que cadastra/edita produtos, preços, fotos ou categorias. EventStorming trata catálogo como dado dado-de-graça. Bloqueia decisão CMS sim/não.gap_pendente
EC-12Logística — provider de entrega + critério de falha consecutiva (suspender assinatura após N entregas falhadas?) não modeladogap_pendente
EC-13Critério “novo cliente” ambíguo — 3 personas distintas (Visitante anônimo / Ex-cliente / Cliente ativo logado) com roteamentos diferentes em T3, T6, T7. Visitante anônimo segue fluxo completo; Ex-cliente pula T3; Cliente ativo vai direto a T10. Regra de guarda deve checar sessão + estado da assinaturagap_pendente
EC-14Fluxo de renovação para ex-cliente não modelado — pula T3 (seleção de máquina) e reaproveita CEP do cadastro? Reativa assinatura existente ou cria nova? Máquina de estados precisa contemplar transição Cancelada → Ativa e Suspensa → Ativa como paths separados ou unificadosgap_pendente
EC-15Comodato — domínio inteiro ausente do modelo. Eventos MáquinaDespachadaEmComodato, MáquinaDevolvida, MáquinaComDefeito, SubstituiçãoSolicitada, PrazoDevoluçãoExpirado, MultaComodatoAplicada não modelados. Prazo mínimo, multa, seguro, logística reversa indefinidos (RN-07/08/09/10)gap_pendente
EC-16Autenticação / sessão — fluxos LoginRealizado, SenhaRedefinida, SessãoExpirada, ContaDuplicadaDetectada ausentes. Sessão expira no meio do onboarding = carrinho perdido? Mesmo e-mail tenta criar conta = bloqueia ou loga? Reset via magic link (Supabase Auth) ou link clássico?gap_pendente
EC-17Comunicação ao cliente — zero eventos de notificação modelados. 7 triggers mínimos identificados (boas-vindas, recibo+NF-e, pagamento recusado, despacho+rastreio, falha entrega, suspensão SLA, cesta alterada). Provider de e-mail (Resend / Postmark / SendGrid / SES) TBD. SMS opcional?gap_pendente
EC-18Limites de cesta — mínimo de pedido (≥1 café via RN-11)? Máximo por SKU (evita estoque drenado)? Cesta vazia bloqueia checkout?gap_pendente
EC-19Self-service do cliente — Painel Cliente sem Cancelar / Pausar voluntária / Atualizar cartão / Atualizar endereço. CDC art. 49 exige direito de arrependimento 7d. Pausa voluntária vs Suspensa por inadimplência: mesmo estado ou separado?gap_pendente
EC-20Pedido físico modelado pela metade — PedidoMontado, PedidoCancelado pré-despacho, RastreamentoAtualizado (webhook Melhor Envio), EntregaReenviada (pós-falha) ausentes. Cancelamento no dia do ciclo afeta caixa já em montagem?gap_pendente
EC-21Observabilidade operacional — health check do job de cobrança, reconciliação para webhook perdido, dashboard de assinaturas por status. Solução: wire via skill ops-stack (Sentry + Better Stack + PostHog) — escopo de Fase 3-4gap_pendente

O BRIEF (proposta 19245) não contém nenhuma linha de orçamento. Nenhum valor, breakdown de fase, hourly rate ou limite de budget.

GapCategoriaStatus
GAP-01: Valor total do projetodesenvolvimentogap_pendente
GAP-02: Breakdown de custo por fase (Fases 1-4)desenvolvimentogap_pendente
GAP-03: Custo de infra/hosting (Vercel/Supabase free vs paid tiers)infraestruturagap_pendente
GAP-04: Custo Pagar.me em volume (Pix Automático ~0,99% + cartão recorrente 2,99%+R$0,29) — modelar fee por mix Pix/cartãoservico_terceirogap_pendente
GAP-05: Modelo de cobrança ao cliente (fixo / hora / milestone)desenvolvimentogap_pendente

  • T04 — “novo cliente”: “visitante deslogado” inclui clientes existentes não autenticados. Precisa de cheque de sessão + cheque de BD simultâneo.
  • T10 — reutilização de T01/T02/T03: UI, rota ou lógica de negócio? Impacto em routing e state management.
  • T07 — tela de sucesso: sub-tela de T07 ou tela independente T08? Afeta contagem e navegação.
  • T13 — logs de alteração de endereço: quem gera? Sistema ou manual? Não modelado.
  • Gateway de pagamento ✅ ratificado: Pagar.me (Pix Automático + cartão recorrente) decidido por Gabriel em 2026-06-09 após Lane X research — score 8/10 agentic, sandbox instantâneo, ambos métodos must-have na mesma API. Stripe descartado (não suporta Pix Automático recorrente em BR). Asaas demoted (DX agentic inferior). MercadoPago fallback caso sandbox Pagar.me falhe.
  • Vercel v0: dependência de produção ou só dev tool? Sem impacto em runtime, precisa de confirmação.
  • Versões não especificadas: Next.js App Router vs Pages Router, Tailwind v3 vs v4.
  • “Novo cliente” (T04): 3 personas distintas com roteamentos diferentes. Visitante anônimo (sem conta) — entra no fluxo completo T1→T7, inclui seleção de máquina (T3). Ex-cliente (conta existente, assinatura Cancelada ou Suspensa) — pula T3 (já tem comodato/compra), mas passa por T6 CEP e T7 pagamento para reativar. Cliente ativo logado (assinatura Ativa) — não entra no fluxo T1–T5 de conversão; encaminhado diretamente para T10 (alterar cesta). Regra de guarda em T1 deve checar sessão + estado da assinatura simultaneamente.
  • Base Grande SP (T06): ViaCEP não tem este campo. Precisa de lista de municípios ou faixas de CEP.
  • “Próximo mês” (T10): data de corte do ciclo não definida.
  • “Forçar Cobrança” (T12): pré-condição ausente. Disponível para status “Suspensa” também?
  • Suspender vs Cancelar (T12): diferença operacional não definida. Pausa temporária vs irreversível?
  • Cadastro de produto (EC-11): quem cadastra novo café, bebida, complemento ou máquina? CMS admin com UI dedicada, seed estático no deploy, ou planilha/CSV integrado? Define se Painel Admin cresce em N telas ou fica em 3.
  • Frequência de alteração de preço: mensal, trimestral ou ad-hoc? Mensal/ad-hoc exige UI de edição em produção. Trimestral aceita deploy manual.
  • Estoque e disponibilidade: trackeado por SKU? Quando esgota → some do catálogo automaticamente ou continua exibido com badge “indisponível”? Sem resposta = sem regra de exibição.
  • Foto e descrição de produto: upload via admin (Supabase Storage / S3) ou apenas URL externa cadastrada manualmente? Impacto direto em storage do Supabase e custo.
  • Categorias dinâmicas vs fixas: as 3 categorias T1/T2/T3 (cafés, bebidas quentes, complementos) são fixas no código ou admin pode criar/renomear novas categorias e mover produtos entre elas? Hardcoded simplifica; dinâmico exige uma quarta tela admin.
  • Provider de entrega (EC-12): nenhum provider modelado. Webhook automático, app do entregador ou import manual de planilha? Cada opção tem SLA e custo distintos.
  • Confirmação de entrega: quem dispara “Entrega confirmada”? O provider via API, o entregador via app, ou operação interna após X dias sem contestação?
  • Política de falhas consecutivas: quantas falhas de entrega acionam suspensão? Regra não definida. Precede ou sucede a política de pagamento falhado?

IDTipoStatusResumo
#101render_starlight_v1assignedA4 Renderer: scaffold apps/master-espresso/site/ (Astro 5 + Starlight 0.37)
#100validate_builder_outputin_progressA3 Reviewer round 1: valida domain.ts contra reviewer-checklist.md
#1orcamento_to_base_estruturadasurfacedMaster Espresso BRIEF.md → base estruturada (multi-render)

As tensões acima são identificadores do pipeline interno de geração (workflow de agentes que produz este site) — não fazem parte do escopo Master Espresso. Mantidas para auditoria.

✅ Atualização 2026-06-09: “Decidir gateway” foi ratificado por GabrielPagar.me (Pix Automático + cartão recorrente) é o gateway oficial. Lane X research feita. Cliente Master Espresso só precisa abrir conta produção Pagar.me antes de S3.


  1. [FEITO 2026-06-09] ✅ Gateway decidido — Pagar.me (Pix Automático + cartão recorrente). Cliente Master Espresso precisa abrir conta produção e nos liberar credenciais antes de S3.
  2. [IMEDIATO] Definir base de municípios da Grande SP — desbloqueia RN-01 (mais citada no BRIEF).
  3. [ANTES DA FASE 1] Confirmar se tela de sucesso é sub-tela de T07 ou tela T08 — afeta contagem e routing.
  4. [ANTES DA FASE 2] Definir data de corte do ciclo mensal — desbloqueia RN-05.
  5. [ANTES DA FASE 3] Modelar máquina de estados de assinatura (Ativa/Suspensa/Cancelada/AguardandoPagamento).