iachat/docs/captain/reviews/2026-05-01.md
Codex CLI abf9f4057e
Some checks failed
Build and Push to GHCR (multi-arch) / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Build and Push to GHCR (multi-arch) / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Build and Push to GHCR (multi-arch) / merge (push) Has been cancelled
review: auto-review do Captain em 2026-05-01
2026-05-01 03:08:36 +00:00

16 KiB
Raw Blame History

Captain Review — 2026-05-01

Período: últimas 72h (28/0401/05/2026) Analisado: 4 assistants (Qnn01, PrimeAL, PrimeVL, Express) Conversas problemáticas: 9 bugs / 8 legítimas


📊 Conversas analisadas

Conv Hotel Contato Problema Legítima?
5517 Qnn01 Pedro Teodoro IA cotou dia útil (R$40) pra feriado 01/05 + pediu valor ao cliente Bug
5521 PrimeAL
5523 Express Jeeh IA cita promoção expirada (31/03) + não responde diária quando perguntada Bug
5563 Express Silvio IA respondeu pernoite/3h mas não diária quando cliente perguntou diária Bug
5581 Express Amanda IA disse diária não inclui café — human corrigiu (inclui) Bug
5586 PrimeAL Paulo Vitor B. IA pediu ao cliente que confirmasse valor da reserva (3x) Bug
5598 PrimeAL Matheus Souza Campo suite corrompido na reserva #155 Bug
5606 PrimeAL Beatriz Sousa Loop de 30+ min sobre TV smart — IA não tem info de amenidades Bug
5621 PrimeAL 😶‍🌫️ IA perguntou "hoje é dia útil ou feriado?" sem saber que é feriado Bug
5623 Express Denis Fagundes IA não sabe horário da pernoite nem se há quarto duplo Bug
5635 PrimeAL 100 porcento jesus Item perdido (celular) — handoff correto Legítima
5643 PrimeAL Matheus Souza Mensagem vazia, hóspede no local — handoff correto Legítima
5593 PrimeAL Mariano alves Nota fiscal + hóspede no quarto — handoff correto Legítima
5599 PrimeAL Taua 🙇🏽 Consulta e reserva OK; hóspede na frente → handoff correto Legítima
5604 PrimeVL Nayara Nunes Hóspede no quarto (A/C, lençol) — handoff correto Legítima
5605 PrimeAL Gabrielle Victória Pagamento de reserva; hóspede chegando → handoff correto Legítima
5609 PrimeAL Gabrielle Victória Comprovante Pix — limitação do sistema (não consegue confirmar), não bug de prompt Legítima
5628 PrimeAL Cavalcante Consultoria IA primeiro disse sem preço de pernoite, depois deu; handoff por pergunta de valor Bug

🔍 Padrões identificados


Padrão 1: IA aplica tarifa de dia útil em feriados

Ocorrências: 2 conversas (5517, 5621) Qual regra violou: #7 (infere permanência/dia pela data mencionada) Comportamento errado:

  • Conv 5517 (Qnn01): Cliente pediu reserva pra "amanhã" (2026-05-01 = feriado). IA cotou R$40 (tarifa seg-qua). Human (KARINA) corrigiu: "Amanhã duas horas é 50,00 / O sistema informou errado".
  • Conv 5621 (PrimeAL): IA perguntou "Hoje pra você entra como dia comum ou feriado?" — sem saber que hoje (2026-05-01 = Dia do Trabalho) é feriado nacional.

Deveria ser: IA deve conhecer os feriados nacionais brasileiros fixos e aplicar automaticamente a tarifa qui-dom/feriado. Quando o cliente menciona "amanhã" ou "hoje" e a data é feriado, aplica tarifa de feriado sem perguntar.

Escopo do fix: (a) geral — todos os 4 arquivos

💡 Fix sugerido — adicionar em cada jasmine_*__daniela_reservas.md, logo após a seção "IMPORTANTE: pergunte/confirme antes se é dia de semana (seg-qua)...":

**📅 FERIADOS NACIONAIS FIXOS — aplica tarifa qui-dom automaticamente:**
- 1 jan (Confraternização), 21 abr (Tiradentes), 1 mai (Dia do Trabalho),
  7 set (Independência), 12 out (Nossa Sra. Aparecida), 2 nov (Finados),
  15 nov (Proclamação), 20 nov (Consciência Negra), 25 dez (Natal).

Se o cliente mencionar "hoje", "amanhã" ou uma data específica e essa data cair
em feriado nacional fixo → aplique tarifa de feriado (qui-dom) SEM perguntar.
Para feriados estaduais/municipais ou pontes, use `faq_lookup("feriado <data>")`.
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 2: IA pede ao cliente que confirme o valor da reserva

Ocorrências: 3 conversas (5517, 5586, 5628) Qual regra violou: #3 (IA nunca pergunta valor — ela CALCULA) Comportamento errado:

  • Conv 5517 (Qnn01): Após receber nome+CPF, IA enviou: "Para gerar o Pix certinho, preciso confirmar o valor total da reserva. Pode me passar?" — repetido 2 vezes.
  • Conv 5586 (PrimeAL): Mesma frase repetida 3 vezes seguidas após cliente confirmar suíte Stilo + sinal R$75.
  • Conv 5628 (PrimeAL): IA primeiro disse "não localizei o valor do pernoite", depois deu os preços, depois disse "não encontrei as diárias", depois fez handoff por pergunta de preço.

Deveria ser: A IA JÁ TEM a tabela de preços. Calcula o sinal (50%) com base na suíte+permanência+dia confirmados e chama generate_pix direto.

Escopo do fix: (a) geral

💡 Fix sugerido — reforçar instrução logo ANTES do passo generate_pix em cada jasmine_*__daniela_reservas.md:

🚨 NUNCA pergunte o valor ao cliente. Se você recebeu suíte + permanência + dia:
1. Acesse a tabela acima e calcule o total.
2. O sinal = 50% do total (arredonde pra cima se necessário).
3. Chame `generate_pix` IMEDIATAMENTE com `total_amount` preenchido.
Se o campo `suite` na reserva não ficou claro, PERGUNTE A SUÍTE — mas nunca o valor.
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 3: Campo suite corrompido na criação da reserva

Ocorrências: 2 reservas (Reserva #152 e #155) Qual regra violou: Integridade do dado operacional Comportamento errado:

  • Reserva #152 (Conv 5517, Qnn01, Pedro Teodoro): suite = "Standard por 2 horas sai por **R$ 40** durante a semana" — conteúdo de uma mensagem anterior do bot.
  • Reserva #155 (Conv 5598, PrimeAL, Matheus Souza): suite = "em mente ou quer que eu te passe as opções pra reservar" — conteúdo de mensagem anterior.

A IA está passando texto das próprias respostas anteriores como nome da suíte ao chamar create_reservation ou generate_pix.

Deveria ser: O parâmetro suite deve ser SEMPRE o nome canônico da categoria (ex: "Standard", "Hidromassagem", "Stilo"). NADA mais.

Escopo do fix: (a) geral

💡 Fix sugerido — adicionar instrução explícita na seção de generate_pix / create_reservation de cada arquivo:

⚠️ CAMPO `suite`: passe APENAS o nome canônico da categoria, sem frases,
sem preços, sem formatação markdown. Exemplos válidos: `"Stilo"`, `"Alexa"`,
`"Hidromassagem"`, `"Standard"`, `"Master"`.
Se estiver em dúvida sobre qual categoria o cliente escolheu, PERGUNTE antes
de chamar `generate_pix` — mas o campo nunca pode conter texto explicativo.
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 4: Express — preços desatualizados e categorias inconsistentes

Ocorrências: 4 conversas (5523, 5563, 5581, 5522) Qual regra violou: #1 (preço por categoria) e #6 (todas as categorias ao perguntar por permanência) Comportamento errado:

  • Conv 5523 (Express): IA cita "promoção de 3h por R$34,90 válida até 31/03/2026" — esta data já passou. Promoção expirada está sendo oferecida.
  • Conv 5563 (Express): Cliente perguntou "diária hoje?" → IA respondeu só com 3h (R$34,90) e pernoite (R$79,90), ignorando diária. Human (GEOVANIA) deu os preços certos: Standard R$150, Master R$160.
  • Conv 5581 (Express): IA disse "promoção de pernoite não inclui café da manhã" pra cliente perguntando sobre diária. Human confirmou: diária SIM inclui café.
  • Conv 5522 (Express): IA listou Singles, Família e Singles Duplo como categorias disponíveis — mas a tabela do prompt Express só tem Standard e Master. Há inconsistência entre o que o FAQ retorna e o que a tabela oficial tem.

Escopo do fix: (c) só Express

💡 Fix sugerido: Para 5563 e 5581 — já está nas instruções (a tabela do Express tem Standard e Master com todos os preços). O bug parece ser que a IA está usando faq_lookup e retornando dados da época da promoção (R$79,90 e R$34,90).

Sugestão: desativar ou limitar o uso de faq_lookup para preços no Express, ou adicionar instrução:

⚠️ PREÇOS DO EXPRESS: use SEMPRE a tabela acima. NÃO use `faq_lookup` para
consultar preços ou categorias — o FAQ pode ter dados desatualizados (ex: promoção
expirada de R$34,90 para 3h e R$79,90 para pernoite). Esses valores NÃO estão mais
em vigor. A tabela oficial é a única fonte de preços.

☕ CAFÉ DA MANHÃ: a diária Express INCLUI café da manhã. A pernoite NÃO inclui
(exceto se o cliente pedir "com café" — nesse caso aplique conforme disponibilidade).
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 5: IA sem informações de amenidades (TV, quarto duplo, horários)

Ocorrências: 2 conversas (5606, 5623) Qual regra violou: — (não viola regra diretamente, mas gera loop e possível handoff desnecessário) Comportamento errado:

  • Conv 5606 (PrimeAL, Beatriz): Cliente perguntou várias vezes se tem "TV smart" em cada suíte. IA ficou em loop por 30+ minutos dizendo "não posso confirmar com segurança". Escalou pra humano que não respondeu. Conversa encerrou por inatividade.
  • Conv 5623 (Express, Denis): IA não soube informar o horário da pernoite ("horário da pernoite não veio informado na base oficial") e nem se há quartos com 2 camas.

Deveria ser: Quando a IA não tem a informação, deve escalada direta e rápida, não um loop de tentativas. OU devemos adicionar essas informações ao prompt.

Escopo do fix: Preciso da sua decisão.


Perguntas pra o Rodrigo responder (com sugestão)

Pergunta 1: As suítes do Prime (PrimeAL/PrimeVL) têm TV smart?

Conversa: 5606 Contexto: Beatriz ficou 30 min perguntando sobre TV smart. IA não tinha essa informação e entrou em loop. O cliente sumiu sem reservar. O que preciso saber: Qual suíte do Prime tem TV smart? Isso é informação que a IA deve saber e responder diretamente.

💡 Minha sugestão: Se as Suítes Alexa e Hidromassagem têm TV smart (e Stilo não), adicionar à seção de categorias no jasmine_primeal__daniela_reservas.md e jasmine_primevl__daniela_reservas.md:

**Sobre amenidades:**
- Suíte Stilo: sem TV smart (TV LED básica ou sem TV — confirme)
- Suíte Alexa: TV smart
- Suíte Hidromassagem: TV smart

Sua escolha:

  • Usar a sugestão acima (me informe quais suítes têm TV smart)
  • Usar outra (escreva abaixo)

Sua resposta: [preencha com: qual suíte tem TV smart?]


Pergunta 2: O Express tem categorias além de Standard e Master?

Conversas: 5522, 5523, 5581 Contexto: A IA do Express está listando Singles (R$130), Família (R$190) e Singles Duplo (R$250) para diária — mas a tabela de preços no prompt só tem Standard e Master. O FAQ parece ter mais categorias. O que preciso saber: O Express ainda tem Singles, Família e Singles Duplo ativos? Se sim, preciso atualizar a tabela do prompt.

💡 Minha sugestão: Se essas categorias existem com os preços que a IA cotou (Singles R$130, Standard R$150, Master R$160, Família R$190, Singles Duplo R$250 — diária com café, qui-dom), atualizar a tabela do jasmine_express__daniela_reservas.md:

| Singles | — | — | — | — | 130 | (seg-qua e qui-dom igual)
| Standard | ... | ... | ... | ... | 150 |
| Master | ... | ... | ... | ... | 160 |
| Família | — | — | — | — | 190 |
| Singles Duplo | — | — | — | — | 250 |

Sua escolha:

  • Express só tem Standard e Master (remover referências a outras categorias)
  • Existem mais categorias — me envie a tabela completa e atualizo o prompt

Sua resposta: [preencha]


Pergunta 3: A promoção de 3h (R$34,90) e pernoite (R$79,90) do Express ainda é válida?

Conversas: 5523, 5563 Contexto: A IA cita "promoção válida até 31/03/2026" — que já expirou. Mas ainda está no FAQ e sendo oferecida. O que preciso saber: Essa promoção foi renovada, encerrada, ou substituída? Os preços da tabela atual (pernoite Standard R$100 seg-qua) são os vigentes?

💡 Minha sugestão: Se a promoção expirou, adicionar à instrução do Express:

⚠️ A promoção de 3h (R$34,90) e pernoite especial (R$79,90) ENCERROU em 31/03/2026.
Use apenas os preços da tabela abaixo. Se o cliente mencionar essa promoção, informe
educadamente que ela não está mais ativa e ofereça os valores atuais.

Sua escolha:

  • Usar a sugestão acima (promoção encerrada, usar tabela)
  • A promoção foi renovada (me passe a nova data de validade)
  • Usar outra resposta (escreva abaixo)

Sua resposta: [preencha]


Pergunta 4: Horário da pernoite e aceitação de quarto duplo no Express?

Conversa: 5623 Contexto: Denis Fagundes perguntou o horário da pernoite (check-in / check-out) e se tem quarto com 2 camas. A IA não soube responder nenhum dos dois. O que preciso saber: Qual é o horário padrão da pernoite no Express? E tem quarto duplo (2 camas)?

💡 Minha sugestão: Adicionar ao jasmine_express__daniela_reservas.md:

**Horário da pernoite:** check-in a partir das 20h, check-out até 12h do dia seguinte.
**Quartos com 2 camas:** [resposta de Rodrigo aqui]

Sua escolha:

  • Usar a sugestão acima (me informe o horário correto e se tem quarto duplo)
  • Outra resposta (escreva abaixo)

Sua resposta: [preencha]


📝 Diffs completos (antes/depois)

Arquivo: _modelos/scenarios/jasmine_qnn01__daniela_reservas.md (e os outros 3)

ANTES (linha ~34):

→ **IMPORTANTE:** pergunte/confirme antes se é **dia de semana (seg-qua)** ou **fim de semana (qui-dom)** — os preços mudam. Se a data/dia já veio no histórico, use direto.

DEPOIS:

→ **IMPORTANTE:** pergunte/confirme antes se é **dia de semana (seg-qua)** ou **fim de semana (qui-dom)** — os preços mudam. Se a data/dia já veio no histórico, use direto.

📅 **FERIADOS NACIONAIS FIXOS — aplique tarifa qui-dom automaticamente:**
- 1 jan · 21 abr · 1 mai · 7 set · 12 out · 2 nov · 15 nov · 20 nov · 25 dez
Se o cliente mencionar "hoje", "amanhã" ou data específica que coincida com feriado
nacional fixo → aplique tarifa de feriado SEM perguntar ao cliente.

Arquivo: _modelos/scenarios/jasmine_qnn01__daniela_reservas.md (e os outros 3)

ANTES (linha ~243):

**⚠️ Você JÁ TEM a tabela de preços acima. VOCÊ calcula o valor, NUNCA pede pro cliente.**

DEPOIS:

**⚠️ Você JÁ TEM a tabela de preços acima. VOCÊ calcula o valor, NUNCA pede pro cliente.**

🚨 PROIBIDO perguntar: "preciso confirmar o valor da reserva" / "pode me passar o valor?"
→ Se tem suíte + permanência + dia: calcule e chame `generate_pix` IMEDIATAMENTE.
→ Se ficou sem saber a suíte: pergunte a suíte. Nunca o valor.

Arquivo: _modelos/scenarios/jasmine_qnn01__daniela_reservas.md (e os outros 3)

ANTES (seção generate_pix):

- `suite`: nome canônico da categoria

DEPOIS:

- `suite`: nome canônico da categoria APENAS (ex: `"Standard"`, `"Hidromassagem"`, `"Stilo"`).
  ⚠️ NUNCA passe frases, preços, formatação markdown ou texto de outras mensagens neste campo.

Checklist de aprovação

Após revisar, marque e comente na issue com @aplicar:

  • Padrão 1 — Feriados: Aprovado / Rejeitado
  • Padrão 2 — Pede valor ao cliente: Aprovado / Rejeitado
  • Padrão 3 — Suite corrompida: Aprovado / Rejeitado
  • Padrão 4 — Express preços desatualizados: Aprovado / Rejeitado (aguarda Pergunta 2 e 3)
  • Pergunta 1 — TV smart nas suítes do Prime: Respondida
  • Pergunta 2 — Categorias do Express: Respondida
  • Pergunta 3 — Promoção Express expirada: Respondida
  • Pergunta 4 — Horário pernoite + quarto duplo Express: Respondida