Plano de Testes, ModularCRM
Documento companheiro do DRS, ModularCRM . Responde: o que validar antes de entregar. Duas seções: Alfa (interno, um item por requisito usando o critério de aceitação, mais os gerais) e Beta (com o cliente e usuários reais, um item por jornada, mais feedback).
Alfa (validação interna)
Cada item confirma o critério de aceitação (H1) do requisito correspondente no DRS. Marcação: [x] validado, [ ] a validar.
Captura de leads
A-001 Lead de Meta Lead Ads vira contato na empresa certa em segundos, com origem registrada (RF-CAPT-001).
A-002 Lead de Google Ads vira contato com origem registrada (RF-CAPT-002).
A-003 Envio de formulário publicado vira contato; incorporação em site externo funciona (RF-CAPT-003). Validado 2026-07-10: envio de ponta a ponta criou o contato com origem "formulário" e registrou a submissão.
A-004 Sistema externo envia lead pelo webhook e vira contato; malformado é rejeitado (RF-CAPT-004).
A-005 Cadastro rápido cria contato em poucos cliques e aparece na lista (RF-CAPT-005). Validado 2026-07-10.
A-006 Lead de TikTok vira contato com origem (RF-CAPT-006).
A-007 Lead com telefone/e-mail/identificador já existente atualiza em vez de duplicar (RF-CAPT-007).
Gestão de leads
A-008 Lista de contatos mostra só a empresa atual, com busca e ordenação (RF-LEAD-001).
A-009 Ficha do contato edita e persiste dados, campos, tags, arquivos, histórico (RF-LEAD-002). Validado 2026-07-10 (edição em linha e nota na linha do tempo persistiram). Rótulos da ficha validados 2026-07-12 ({AUD-08}): acentuação correta em toda a página, zero resíduo de codificação corrompida. Exclusão de contato validada 2026-07-12 ({AUD-18}): excluir com automação agendada remove o contato e o passo junto, com aviso de sucesso; a confirmação informa o que sai junto; falha real vira aviso e o contato permanece.
A-010 Campo personalizado criado aparece na ficha e é referenciável por chave única (RF-LEAD-003).
A-011 Tag aplicada em massa chega a todos os selecionados e serve de critério (RF-LEAD-004).
A-012 Vínculo contato-empresa aparece nas duas fichas, com muitos para muitos (RF-LEAD-005).
A-013 Arquivo anexado fica listado e disponível, respeitando isolamento (RF-LEAD-006).
A-014 Regra de pontuação ajusta pontos no evento previsto; liga/desliga funciona; global herdada (RF-LEAD-007).
A-015 Lista inteligente salva filtros e é compartilhável (RF-LEAD-008).
A-016 Filtros avançados combinados retornam só quem atende a todos (RF-LEAD-009).
A-017 Mesclagem consolida dados e preserva histórico, com registro auditável (RF-LEAD-010). Validado 2026-07-12 no QA do {AUD-10}: mesclar dois contatos consolida os dados, preserva o histórico e grava a ação "Mesclar" na trilha de auditoria (dois defeitos da função de mesclagem corrigidos no mesmo merge).
A-018 Mesma pessoa em canais diferentes converge num único contato com histórico unificado (RF-LEAD-011).
A-019 Importação respeita deduplicação e mapeamento; exportação funciona (RF-LEAD-012).
A-020 Histórico do contato mostra a linha do tempo com canal/origem (RF-LEAD-013).
Conversas e inbox
A-021 Inbox mostra todas as conversas da empresa com canal identificado e filtros (RF-CONV-001). Validado 2026-07-10 (abas e filtros por canal renderizam; nova conversa entra na lista).
A-022 Painel de conversa mostra histórico e ficha do contato editável; resposta pelo mesmo canal (RF-CONV-002).
A-023 WhatsApp Evolution conecta por QR e troca mensagens nos dois sentidos (RF-CONV-003). Reprovado 2026-07-10: o canal do tenant piloto está com erro de autenticação (401) desde 12/05 e não estabelece conexão. Ver {C4-01}.
A-024 WhatsApp Meta Cloud, quando escolhido, circula pelo inbox igual ao Evolution (RF-CONV-004).
A-025 Messenger entra no inbox com nome e foto reais; resposta chega ao Messenger (RF-CONV-005).
A-026 Instagram (mensagens e comentários) entra no inbox e responde pelo canal (RF-CONV-006).
A-027 E-mail da empresa vira conversa; resposta sai pelo e-mail da empresa (RF-CONV-007).
A-028 SMS pelo Twilio aparece e envia no painel (RF-CONV-008).
A-029 Resposta pronta cola o texto com variáveis substituídas (RF-CONV-009). Validado 2026-07-10 (criação de resposta pronta com variáveis persistiu).
A-030 Tarefa manual de automação aparece na aba e é concluível (RF-CONV-010).
A-031 Não perturbe suspende envios automáticos, mantendo envio manual (RF-CONV-011).
A-032 Widget de webchat incorporado cria conversa no inbox (RF-CONV-012). Validado 2026-07-11 ({AUD-04} entregue): a página pública de chat e o widget embedado num site externo enviaram mensagem de verdade (inclusive o pré-voo CORS do widget), a conversa apareceu no inbox com marca de não lida, o operador respondeu em modo "entrar como empresa" e o visitante recebeu a resposta pelo widget.
A-033 Nova mensagem notifica e atualiza contador de não lidas (RF-CONV-013).
A-034 Clique em link rastreável é registrado e serve de gatilho (RF-CONV-014). Validado 2026-07-15, {AUD-51} entregue, merge 109857f: caminho feliz E2E com a automação executando para o contato certo, os três negativos (clique anônimo, token de outro link e token de outra empresa redirecionam e contam, sem atribuir e sem disparar), isolamento entre empresas provado nas duas direções, e o endereço curto único em todo o produto. Ressalva: o caminho de lembrete de agendamento com a variável do nome do contato não foi exercitado ao vivo, coberto por revisão de código.
Experiência e interface
A-035 Navegação espelha o GHL na barra da empresa e na da agência (RF-UX-001). Validado 2026-07-10 (barra da empresa e barra da agência com os itens esperados).
A-036 Modo escuro consistente em todas as telas, com preferência lembrada (RF-UX-002). Validado 2026-07-10 (alternância de tema funcionou).
A-037 Telas principais a 375px sem rolagem horizontal quebrada (RF-UX-003).
A-038 Sem violações A/AA nos itens verificados; fluxos essenciais por teclado (RF-UX-004).
A-039 Telas novas consomem os tokens centrais; mudança de token propaga (RF-UX-005). Pendente: design system por tokens ainda não implementado. Ver {C5-01}.
A-040 Ação do usuário tem resposta visual imediata sem travar (RF-UX-006, RF-UX-007). Validado 2026-07-10 (estados de carregamento e mensagens de sucesso presentes).
Módulos secundários
A-041 Automação com gatilho, ações, espera e condição de saída roda por contato (RF-AUTO-001 a 005). Parcial 2026-07-10: o construtor cria o fluxo com gatilho e o editor visual funciona; a execução ponta a ponta por contato não foi exercitada nesta auditoria.
A-042 Modelos, pastas, status e métricas de automação corretos (RF-AUTO-006, 007). Nota 2026-07-11: a tela de "Templates de Workflow" da agência (modelos globais) foi corrigida e validada (ver {AUD-06}); pastas, status e métricas das automações da empresa seguem a validar. Nota 2026-07-16: o RF-AUTO-006 foi emendado nesta data e ganhou a regra do modelo aplicável, então este card passa a medir também o aceite novo, e não só a promessa antiga de que a automação é criada e editável. O que validar: aplicar cada um dos quatro modelos numa empresa de teste e rodar a automação resultante para um contato sem alterar nada nela; nenhum passo pode ser registrado como falha por configuração inválida, e a tag que o modelo promete tem que existir na empresa depois de aplicá-lo. Passo registrado como ignorado por ausência de canal conectado não reprova, porque é a divergência deliberada do RF-AUTO-044. Este card está reprovando em produção hoje, pelo modelo "Welcome + Tag", e a entrega que o faz passar é o {AUD-75} do Roadmap de Implementação .
A-079 Passo de automação só fica concluído quando o efeito existe de verdade; ausência de dado ou de canal fica ignorada e a automação segue; configuração inválida fica em falha e a automação para (RF-AUTO-044). Nascia reprovando em 2026-07-16: em toda a história do produto os passos registravam dezoito vezes concluído e nenhuma vez falha ou ignorado, com efeito comprovadamente ausente. Passa em 2026-07-16, {AUD-68} entregue (commit 67224ec, merge 06e9724), qa PASS provando os sete discriminadores por efeito real no banco: reprova antes por dado histórico; tag real aplicada com linha real em contact_tags e o passo seguinte rodando (anti-falso-positivo); contato sem telefone e empresa sem canal de WhatsApp, cada um ignorado com o motivo nomeado e o passo seguinte rodando; identificador de tag ausente em falha, automação parada, sem o passo seguinte ganhar linha; ação que o motor não executa em falha, automação parada; remover tag ausente permanece concluído. A prova de que automação legítima continua terminando concluída também passou: efeito real confirmado no banco, e não só no próprio registro do passo. Ressalva honesta: as outras catorze rotas do motor não foram exercitadas individualmente, só por leitura de código confirmando o mesmo padrão estrutural; goto e split com destino inválido e o limite de saltos não foram exercitados. Smoke visual real feito em 2026-07-16 (sessão viva em produção, modo claro e modo escuro): o Dashboard de Automações mostra a execução do "Welcome + Tag" como Falhou, em vermelho, com o erro nomeado, e a Taxa de sucesso (30d) mostra 42,9% (6 de 14), honesto contra os 100% falsos de antes; achou, de quebra, os cards {AUD-79} e {AUD-80}. Mobile (375px) continua não verificado, e não por limitação de ferramenta: não existe caminho que combine sessão autenticada e viewport real sem manusear credencial; o redimensionamento do navegador que mantém a sessão viva não muda o viewport, e as ferramentas que mudam o viewport de verdade sobem um navegador limpo, sem sessão, e nenhum agent pode autenticar digitando senha, quatro pararam corretamente hoje por este motivo. É pendência do Wladimir, que passar um token de sessão já emitido resolve, e não lacuna técnica.
A-043 Calendário respeita disponibilidade; página pública agenda; sincroniza com Google (RF-CAL-001 a 003). Parcial 2026-07-11: disponibilidade e página pública validadas em produção ({AUD-03} entregue: agendamento real criado, vinculado a contato e cancelado, horário ocupado recusado); falta só a sincronização com o Google, pendente da liberação do aplicativo (ver {C3-08}).
A-044 Reagendamento por link, exceções, confirmações e lembretes funcionam (RF-CAL-004 a 006). Nota 2026-07-17: a fatia do {AUD-84} provou só a parte do lembrete por whatsapp desta linha, e provou o caminho feliz contra uma fixture do mundo externo (a instância real do tenant piloto não existe), mais o caminho infeliz contra o serviço externo real; reagendamento por link, exceções e confirmações seguem a validar, então a linha continua aberta.
A-045 Funil, kanban de oportunidades, produtos, orçamentos e pedidos corretos (RF-OPP-001 a 004). Validado 2026-07-10: criar funil, mover no kanban, criar oportunidade com valor e criar produto funcionam. Ressalva: orçamentos e pedidos renderizam mas o fluxo completo não foi exercitado; janelas de criação não fecham após salvar (ver {AUD-11}). Caminho pela ficha do contato validado 2026-07-11 ({AUD-09}): criar oportunidade a partir do contato abre a janela já vinculada e a oportunidade aparece no funil ligada a ele.
A-046 Tarefa criada aparece para o responsável e conclui (RF-TASK-001). Validado 2026-07-10 (criação e listagem). Ressalva: janela de criação não fecha após salvar (ver {AUD-11}).
A-047 Cobrança Pix, faturas, renovação, lembretes e receita recorrente corretos (RF-BILL-001 a 004).
A-048 Subcontas, modelos prontos, planos, white-label, faturas e regras globais no portal (RF-AGY-001 a 006). Validado 2026-07-11: subcontas, planos, white-label, modelos prontos e regras globais renderizam e operam; a aba "SaaS" foi corrigida (ver {AUD-05}), a tela de "Templates de Workflow" foi corrigida e validada com lista, estado vazio, duplicação, filtros e abertura de modelo (ver {AUD-06}), e o vínculo de plano do piloto com o faturamento foi corrigido e provado (ver {AUD-07} e o item {A-070}).
A-049 Relatórios e painéis salvos mostram só o próprio negócio (RF-REP-001). Validado 2026-07-10 (visão geral, origem, funil e atividade recente refletiram os dados criados na sessão).
A-050 Biblioteca de mídia envia, organiza e seleciona por seletor reutilizável (RF-MED-001).
API pública e integrações
A-051 Chave de API autentica dentro do escopo; fora do escopo rejeita (RF-DEV-001).
A-052 Evento assinado entrega com assinatura verificável, com novas tentativas e reenvio (RF-DEV-002).
A-053 Requisição repetida com mesma chave de idempotência tem efeito único (RF-DEV-003).
A-054 Limite excedido recusa com resposta clara e libera ao reiniciar a janela (RF-DEV-004).
A-055 Documentação disponível e chamadas registradas para auditoria (RF-DEV-005).
A-056 Conexão Meta isolada por empresa e revogável (RF-INT-001).
A-057 Conversão enviada à Meta pelo servidor com entrega registrada (RF-INT-002).
A-058 Conexão Google isolada por empresa e revogável (RF-INT-003).
A-059 Conversão enviada ao Google Ads pelo servidor com entrega registrada (RF-INT-004).
A-060 Status das conexões visível; tokens cifrados, nunca em tela (RF-INT-005).
Gerais (todo o sistema)
A-061 Isolamento: nenhuma tela, consulta ou automação retorna dados de outra empresa, nem grava, altera ou dispara ação em nome de outra empresa (RNF-001, que passou a valer para leitura e escrita em 2026-07-15). REABERTO em 2026-07-14: a validação de 2026-07-10 olhou só as telas e concluiu que o isolamento estava firme, mas pela via de API direta não estava. O buraco maior foi fechado no mesmo dia pelo {AUD-35} (formulários e campanhas estavam com a proteção desligada e entregavam dados de qualquer empresa a quem não fez login; agora não entregam, e a escrita também foi bloqueada). O item continua reprovado porque o {AUD-39} ainda é verdade: a regra de leitura pública dos calendários não filtra por empresa. Volta a passar quando o {AUD-39} fechar E a prova cobrir a via de API direta, não só as telas. A metade de escrita deste item nasceu em 2026-07-15 com a emenda do RNF-001, e nasceu reprovada porque o {AUD-47} era a prova viva de que dava para disparar ação em nome de uma empresa sem sessão nenhuma; o {AUD-47} fechou no mesmo dia, merge 67b7051, e o par negativo e o positivo foram provados por requisição real, mas o item segue reprovado enquanto o {AUD-39} não fechar. A ressalva do Super Admin ao entrar numa empresa segue resolvida desde 2026-07-11 pelo {AUD-01}.
A-068 Acesso de suporte (entrar como empresa): o Super Admin em modo "entrar como" vê os dados reais da empresa escolhida e somente dela; ao sair volta à visão global; cada entrada e saída fica no log de auditoria (RF-AGY-016). Validado 2026-07-11 em produção: 1503 contatos reais da Hiit visíveis no modo, empresa própria fora do resultado durante o modo, registros de entrada e saída no log.
A-069 Honestidade do envio: com o canal da empresa não utilizável, nenhum ponto do produto que despacha mensagem chama o canal externo, e nada é apresentado nem gravado como enviado; com o canal utilizável, o estado gravado reflete o despacho real (RF-CONV-054). O aceite cobre todos os pontos que despacham, e não só o operador: exercitar cada um deles, inclusive os que rodam sem pessoa diante da tela, e conferir que o conjunto exercitado fecha com o conjunto levantado por construção. Reaberto em 2026-07-16 pelo {AUD-88}: a validação de 2026-07-11 exercitou só o envio do operador pela tela, que era todo o alcance do RF-CONV-054 na época, e nela continua valendo (o aviso apareceu, o rascunho foi preservado e nada foi gravado); com o requisito emendado para alcançar qualquer despachante, o aceite deixou de estar coberto, e o {AUD-83} foi entregue em 2026-07-17 e o caminho do provedor principal está provado para os quatro despachantes pelo lugar único (a sonda do canal aparece uma vez só e mora dentro dele; a mutação com sentinela parou os despachantes alcançáveis; o lembrete e o motor foram exercitados ao vivo contra o serviço externo real; o robô e o operador foram provados por leitura porque estão barrados fora do escopo). Ainda assim este item segue aberto, porque o ramo do canal alternativo do lugar único decide por premissa e três despachantes quebrariam o invariante nele ({AUD-96}), e porque o robô e o operador não foram exercitados ao vivo (a resposta automática de IA está desligada por falta de chave, {AUD-97}, e o envio pelo canal alternativo está estruturalmente morto, {AUD-96}).
A-073 Perímetro autenticado: nenhum endereço de servidor alcançável pela internet aceita ler, escrever ou disparar ação em nome de uma empresa sem sessão válida e sem vínculo com a empresa alvo (RNF-010). Criado em 2026-07-15, junto com o RNF-010, e nasceu reprovado: o {AUD-47} era a prova viva, o barramento de eventos disparava automação de qualquer empresa sem login nenhum, fechado no mesmo dia, merge 67b7051. A validação é por requisição real, com o par negativo (sem sessão, com sessão inválida e com sessão de quem é de outra empresa, todos recusados e sem efeito nenhum) e o par positivo (membro da empresa e Super Admin passam e o efeito acontece); nunca só pela tela, porque a tela não mostra este defeito. O {AUD-47} fechou em 2026-07-15, com o par negativo e o positivo provados por requisição real. Passa por completo quando o {AUD-48} entregar a lista, gerada por script, de toda rota alcançável pela internet com o estado do guardião de cada uma, sem nenhuma rota sem decisão registrada.
A-062 Segurança: tokens e senhas cifrados; chaves com hash; segredos fora de tela e log (RNF-002). Parcial 2026-07-10: os tokens Meta (usuário, página e CAPI) foram cifrados em repouso pelo {AUD-14} e o navegador deixou de receber segredos das integrações; falta validar o hash das chaves de API e varrer os demais segredos antes de aprovar por completo.
A-063 Confiabilidade assíncrona: fila com novas tentativas, fila de mortos, reenvio e idempotência (RNF-003).
A-064 Desempenho: listas grandes paginam; interface não trava em segundo plano (RNF-004).
A-065 Visual: smoke tela a tela em claro e escuro, sem quebra visível.
A-066 Mobile: smoke a 375px nas telas principais. Nota (2026-07-15, segunda sessão seguida): não verificado. A ferramenta de resize da sessão redimensiona a janela mas o viewport da página não acompanha (window.innerWidth permaneceu 1920); não é teste que passou, é teste que não rodou.
A-067 Regressão: conferir que nada quebrou nos fluxos já em produção após cada mudança.
A-070 Vínculo de plano da empresa: empresa com plano pago tem vínculo íntegro com o cadastro de planos, respeita os limites do plano vinculado e gera fatura no ciclo de faturamento (RF-BILL-002, RF-AGY-003). Validado 2026-07-11 em produção ({AUD-07} entregue): fatura de teste gerada com sucesso (1 fatura criada, valor R$197,00), empresa marcada em atraso corretamente, rollback limpo, e o cron diário de faturamento provado com o comando exato do crontab (respondia 401 desde 2026-04-19 por aceitar o segredo só via parâmetro de URL); os limites do tenant piloto Hiit passaram a refletir o plano Pro real (15 membros, 10 mil contatos, 25 mil e-mails).
A-072 Permissão de papel na escrita: um membro cujo papel nega criar, editar ou excluir é recusado pelo próprio banco, mesmo chamando a API direto com o token dele; papel que permite continua funcionando; dono, administrador e Super Admin não são afetados, inclusive no modo entrar como empresa (RF-PERM-001, RNF-002). Validado 2026-07-14 no {AUD-29} (migration 089), em produção, por requisição real com token de um membro de verdade: papel negando criar devolveu recusa e nenhuma linha gravada; o mesmo pedido com o papel permitindo passou e gravou; provado em contatos, oportunidades, agendamentos, automações e faturas; membro sem papel manteve o comportamento anterior (cria e edita, não exclui); tentativa de escrever em empresa da qual não se é membro recusada; e o agendamento público seguiu funcionando. Ressalva registrada: cobre só escrita, a leitura negada por papel passou a ser reforçada no banco em 2026-07-19 com o {AUD-36} (migration 099); exportar segue só na tela por colapsar em ver, e a tela de Papéis e Permissões passou a existir com o {AUD-37}, então o reforço já é exercitável pela interface, e não só por API. Nota (2026-07-19): o reforço de escrita por papel foi estendido além das nove tabelas iniciais, alcançando os módulos secundários ({AUD-38b}), as tabelas acessórias e junções ({AUD-38c}, migration 100) e os módulos de Configurações e Administração ({AUD-38d}, merge cd5efd2, migration 101), este último provado por qa com par negativo e positivo por papel célula a célula na empresa de teste (Hiit intacta); a leitura negada por papel em Configurações e Administração segue fora do reforço, catalogada no {AUD-105}.
A-071 Trilha de auditoria: operador que cria, edita e apaga registros de entidades de gestão vê essas ações em Configurações, Registro de Auditoria, com autor, tipo, entidade e data; salvar sem mudar nada não gera linha; a trilha respeita o isolamento por empresa, usuário de outra empresa não vê (RNF-006, RF-PERM-030). Validado 2026-07-12 no QA do {AUD-10} (CRUD real + no-op + isolamento entre organizações em produção).
A-074 Gatilho de novo contato via webhook público: um lead que entra pelo webhook público de captura dispara a automação de novo contato, com a execução registrada (RF-CAPT-004, RF-AUTO-002). Validado 2026-07-15, {AUD-49} entregue, merge 5e4f590: o teste reprovava antes do conserto (nenhuma execução nascia) e passa depois (duas execuções, contato certo); reenviar o mesmo lead não dispara de novo (dedup não dispara); a baseline de execuções voltou ao normal (treze), a Hiit segue intacta (1503 contatos), nenhuma mensagem real saiu. Ressalva honesta: este item prova só o caminho do webhook de captura. O RF-AUTO-002 segue reprovado como um todo, porque treze dos dezoito caminhos que criam contato ainda não avisam a automação (ver {AUD-65} e {AUD-66}); dos três caminhos com tráfego real nos últimos trinta dias (livechat, agendamento público e formulário), nenhum é este. Nota (2026-07-15, {AUD-67}): a prova original acima usou lead sem o campo de mensagem. O {AUD-67} revalidou este item nos dois ramos, com e sem mensagem, e hoje os dois disparam a automação; o defeito do ramo com mensagem (erro quinhentos e zero execução) está descrito no {A-077}.
A-075 Guarda do motor de eventos registra evento malformado: um evento malformado enviado ao motor de eventos fica registrado no log em vez de sumir em silêncio (RNF-006). Provado 2026-07-15 no qa do {AUD-49}, mas só em harness isolado com o código extraído do container: hoje não existe caminho real em produção para acionar a guarda, porque os dois chamadores atuais do motor são bem formados. Fica pendente até haver um caminho de produção que a exercite de verdade, ou um teste que force o malformado pela rota pública.
A-076 Resposta pública não trava por falha na emissão do evento: o webhook público de captura responde ao sistema externo mesmo que a emissão do evento de automação falhe, sem travar nem atrasar a resposta (RNF-003). Provado 2026-07-15 no qa do {AUD-49} só estruturalmente, pela leitura do código (a chamada de emissão não tem await antes da resposta), não forçando uma falha real de emissão em produção. Fica pendente até uma prova por falha real, injetada de propósito.
A-077 Webhook de captura não quebra com lead que traz mensagem: um lead enviado ao webhook público com o campo de mensagem preenchido responde sucesso, com o contato e a mensagem gravados, sem erro quinhentos (RF-CAPT-004). Validado 2026-07-15, {AUD-67} entregue, merge aaa0c29: baseline reprovava antes do conserto (erro quinhentos, contato criado, zero nota, zero execução) e passa depois (sucesso, nota gravada, evento contact.created, duas execuções); provado também em produção, com a nota aparecendo na tela do contato, aba Atividade, nos dois temas, com o rótulo Nota em português.
A-078 Release do lock de conversa não mascara exceção (Instagram e Messenger): o release do lock de conversa no finally não lança TypeError e não mascara a exceção original do try, e a mensagem fica gravada (RF-CONV-005, RF-CONV-006). Validado 2026-07-15, {AUD-71} entregue, mesma branch e mesmo merge do {AUD-67} (aaa0c29): baseline reprovava (erro quinhentos, mensagem não gravada, lock preso) e passa depois (sucesso, mensagem gravada, exceção original não mascarada). Ressalva honesta: prova por banco, log e mecanismo isolado, não por navegação real no inbox, porque o caminho Meta está morto pelo {AUD-42} ({A-025} e {A-026} seguem como estavam, sem alteração). O lock ainda pode ficar preso por outra causa arquitetural, ver {AUD-72}, não coberto por este item.
Beta (cliente e usuários reais)
Um item por jornada do documento de Jornadas dos Atores , validado com o tenant piloto (Hiit Fitwear) e a operação real.
B-01 Super Admin: consegue acompanhar receita e saúde, criar plano, criar subconta e definir regra global herdada. Parcial 2026-07-10: criar plano, criar subconta e ver a lista de subcontas funcionam, mas a aba "SaaS" do painel quebra (ver {AUD-05}); entrar numa empresa para dar suporte foi corrigido em 2026-07-11 (ver {AUD-01}).
B-02 Dono da organização: configura a empresa do zero, conecta todos os canais, monta funil e equipe, e acompanha relatórios do negócio.
B-03 Administrador da organização: ajusta campos, automações e modelos, e organiza a operação do dia a dia.
B-04 Membro/Atendente: atende conversas de todos os canais no inbox, cadastra contato rápido, move oportunidade e cumpre tarefas, vendo só a própria empresa.
B-05 Administrador de agência: cria subconta, aplica modelo pronto, atribui plano, apresenta com marca própria e acompanha faturas.
B-06 Contato externo: preenche formulário e vira lead, conversa por qualquer canal com histórico unificado, e agenda/reagenda pela página pública. Parcial 2026-07-11: preencher formulário público, agendar pela página pública ({AUD-03} entregue) e conversar pelo chat público e pelo widget ({AUD-04} entregue) estão validados; falta só os canais Meta do piloto, que dependem da saída do modo de desenvolvimento (ver {C4-03}).
B-07 Feedback do piloto: coletar do tenant piloto o que funcionou, o que atrapalhou e o que falta, e alimentar o próximo ciclo (ver seção 10 do DRS).