iachat/enterprise/app/jobs/captain
Rodribm10 c960dc7e1e feat(captain/hermes): handoff por loop + label-guard em outgoing
Substitui o interceptor agressivo de "Um momento — vou verificar"
(que bloqueava silenciosamente) por handoff explícito + loop detection:

- HANDOFF_PATTERNS: detecta a frase-âncora ("Um momento — vou
  verificar", "Aguarde um instante") e ENTREGA pro cliente,
  marcando conv com label triagem_humana.
- looped_response?: detecta 2 outgoing similares (Jaccard >= 0.50)
  OU pergunta reformulada sobre mesmo tópico (>= 3 keywords em comum
  + ambas inquisitivas via "?" / "me confirma" / "qual prefere"
  etc). 1ª resposta passa, 2ª escala. Cobre o caso "endereço ou
  link?" → "apenas link ou link + endereço?".
- OutgoingJob: guard que pula dispatch se conv tem label
  triagem_humana ou hermes_placeholder. Hermes não responde mais →
  não gasta token + não gera loop.

Cobre 2 casos do Rodrigo:
1. Bot da Claro insistindo em menu → 2ª resposta similar escala.
2. Hermes pedindo confirmação 2x sem entregar → escala.

Tokenize normaliza acentos (transliterate) pra stopwords baterem
"voce/você", "endereco/endereço", etc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 17:30:58 -03:00
..
codex feat(captain): Codex OAuth auth module + proxy controller 2026-04-22 15:07:01 -03:00
contact_memories feat(captain-memory): add HardDeleteExpiredJob with daily cron (LGPD) 2026-04-19 01:09:28 -03:00
conversation feat(captain): semantic memory fixes + roleta + reclamações + analytics 2026-04-21 15:36:25 -03:00
copilot feat: Instrument captain (#12949) 2025-11-28 15:12:55 +05:30
documents chore(style): fix rubocop offenses and update typing indicators 2026-02-25 15:06:58 -03:00
hermes feat(captain/hermes): handoff por loop + label-guard em outgoing 2026-05-02 17:30:58 -03:00
lifecycle feat(lifecycle): implement DispatcherJob 2026-04-15 09:20:32 -03:00
llm feat: legacy features to ruby llm (#12994) 2025-12-11 14:17:28 +05:30
payments feat(captain): semantic memory fixes + roleta + reclamações + analytics 2026-04-21 15:36:25 -03:00
reports feat(captain): semantic memory fixes + roleta + reclamações + analytics 2026-04-21 15:36:25 -03:00
reserva feat(captain): provisionamento automático de Captain::Unit em reserva_hotel.unidades 2026-05-01 00:21:20 -03:00
retention feat(retention): foundation for customer retention metrics 2026-04-22 09:50:23 -03:00
roleta fix(captain): Accept-Encoding identity nos clients Supabase (gzip silencioso) 2026-04-30 23:21:10 -03:00
tools fix: Captain response builder not getting triggered (#12729) 2025-10-28 18:31:08 -07:00
inbox_pending_conversations_resolution_job.rb feat: Improve Captain interactions, activity messages (#11493) 2025-05-16 19:27:57 -07:00