iachat/app
Rodribm10 c8785b999c fix(captain/hermes): intercepta placeholder e força tool call
Quando o LLM emite " Um momento — vou verificar." (ou variantes:
"deixa eu verificar", "aguarde um instante") sem chamar nenhuma tool,
o callback agora:

1. NÃO entrega a msg pro cliente (UX terrível ver "vou verificar" e
   ficar esperando indefinidamente).
2. Dispara notify_event pro Hermes com [SISTEMA: force_tool_call]
   instruindo a retomar e chamar a tool relevante (generate_pix,
   send_suite_images, faq_lookup) com base na última msg do cliente.
3. Limita 2 retries por conversation via Rails.cache (TTL 5min). Após
   esgotar, marca labels hermes_placeholder + triagem_humana e descarta.

Caso real do Rodrigo: cliente confirmou reserva ("Para hoje 23h por 4h")
e o LLM respondeu apenas o placeholder (api_calls=1 no daemon, sem
tool). Cliente ficava esperando sem resposta. Agora Captain força o
LLM a chamar a tool, ou cai pra triagem humana após 2 tentativas.

PLACEHOLDER_PATTERNS cobre as variações observadas. SKILL.md já proibia
"Um momento", mas o LLM ignorava — defesa em camadas.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 17:01:18 -03:00
..
actions Merge branch 'main' into chore/merge-upstream-4.5.0 2025-08-20 11:20:31 -03:00
assets feat: Hide installation identifier (#11722) 2025-06-17 15:45:40 -07:00
builders feat(reports): Painel Diretoria — Onda 1A (leitura) 2026-04-26 12:44:59 -03:00
channels fix: Move contact events to account stream rather than individual user stream (#11082) 2025-03-13 17:46:48 -07:00
controllers fix(captain/hermes): intercepta placeholder e força tool call 2026-05-02 17:01:18 -03:00
dashboards feat: Auto confirm user email when super admin make changes (#12418) 2025-09-23 20:14:02 +05:30
dispatchers feat: toggle typing status on channel provider (#39) 2025-05-03 00:39:39 -03:00
drops feat: Implement existing template linking for CSAT surveys (#218) 2026-02-18 18:00:29 -03:00
fields chore: improve plan-based feature handling with plan hierarchy (#11335) 2025-04-28 14:13:56 -07:00
finders feat: add SKIP_INCOMING_BCC_PROCESSING as internal config (#12484) 2025-09-22 17:52:56 +05:30
helpers feat: lead attribution tracking - landing page origin detection 2026-03-02 14:40:35 -03:00
javascript feat(captain/hermes-builder): aba Verificação com 22+ checks + reparo automático 2026-05-02 15:27:40 -03:00
jobs Automate landing promotion sync to captain docs/faqs with cascade cleanup 2026-03-04 19:30:05 -03:00
listeners fix(reports): tratar resposta humana via WhatsApp como interação humana 2026-04-26 11:35:08 -03:00
mailboxes Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
mailers fix: email delivery in Email::SendOnEmailService (#217) 2026-02-18 16:23:13 -03:00
models fix(captain/mcp): get_assistant_pricing lê do DB + save_agent_spec expande 2026-05-02 12:37:53 -03:00
policies Merge branch 'main' into chore/merge-upstream-4.11.0 2026-02-17 23:05:26 -03:00
presenters fix(mailbox): handle malformed sender address headers (#13486) 2026-02-11 11:02:38 -08:00
services fix(wuzapi): força data URI octet-stream pra send_file 2026-04-25 06:45:26 -03:00
views feat(aggressive-alert): filtro por inbox configurável por admin 2026-04-24 11:51:00 -03:00