Commit Graph

116 Commits

Author SHA1 Message Date
Rodribm10
aec796ebfd fix(captain-memory): cap ExtractionService input, validate scope, filter failed msgs 2026-04-19 00:24:09 -03:00
Rodribm10
ca662a528c docs(captain-memory): document intentional omission of secondary FKs 2026-04-18 23:49:21 -03:00
Rodribm10
effe6018e0 docs(plan): executable plan for Captain semantic memory epic
Plano multi-step com ~27 tasks divididas em 7 fases:
- Phase 0: feature flags foundation (Account helpers)
- Phase 1: migration + Captain::ContactMemory model
- Phase 2: 4 services (PromptInjection, Recall, Extraction, Contradiction)
- Phase 3: 6 jobs (Embedding, ContradictionChecker, ExtractFromConversation,
  SilenceDetector, Aging, HardDelete) + 3 cron schedules
- Phase 4: integracao no AgentRunnerService + listener conversation.resolved
- Phase 5: Controller + Policy + Vue component + i18n + settings toggles
- Phase 6: observabilidade (OTEL metrics + logs estruturados)
- Phase 7: docs operacionais + smoke test E2E + final review

TDD em todas as tasks. Frequent commits. Sem placeholders.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 21:44:52 -03:00
Rodribm10
719448120a docs(spec): Captain semantic memory (episodic contact layer)
Spec do Epico A - adiciona Camada 3 (memoria semantica episodica do contato)
ao Captain AI, mantendo as 3 camadas existentes inalteradas.

Decisoes fechadas no brainstorming:
- Extracao ao resolver conversa OU silencio > 30min (100% automatico)
- Validacao: evidence obrigatoria, confidence >= 0.5 (alternativas B/C/D
  documentadas como fallback)
- Scope global no recall, atribuicao por source_unit_id pra relatorios
- 9 tipos iniciais, limite 5 fatos/conversa, 50 ativos/contato
- TTL por tipo + supersedencia automatica por contradicao
- LGPD soft-30d -> hard-delete via cron
- 2 feature flags independentes, default OFF
- Epico B (LangGraph/inteligencia) sera spec separado pos-producao

Custo estimado: ~R$ 47/mes no grupo todo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 21:37:32 -03:00
Rodribm10
7da16f7722 docs(lifecycle): add backend handoff with gotchas and next-session prompt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 09:41:52 -03:00
Rodribm10
13070bd197 docs: add Jornada do Cliente backend (Fases A+C) implementation plan
Plano de 20 tasks em TDD cobrindo: migrations, models (Rule/Delivery/Config),
extensões em Captain::Unit, 3 métodos interativos em Wuzapi::Client,
EventResolver, Scheduler event-driven, hooks em Captain::Reservation,
ContextBuilder, 6 guards (Opção C quiet hours, max-5, opt-out, etc),
Dispatcher pipeline, DispatcherJob, injeção Liquid de concierge.* no
orchestrator prompt e spec de integração end-to-end.

Out of scope: UI (Fase B) será plano separado após backend validado.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 01:05:00 -03:00
Rodribm10
af5e2723aa docs: add Jornada do Cliente (lifecycle automation) design spec
Design para a feature de automação de mensagens WhatsApp baseada em
eventos do ciclo de vida de reserva — 4 componentes isolados (rules
engine, scheduler event-driven, dispatcher pipeline, concierge AI
Sofia), multi-tenant desde o dia 1, com guards anti-ban e injeção
dinâmica de knowledge por unidade via Liquid.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 00:53:08 -03:00
Rodribm10
69f0b124bb docs: plano Fase 5 - polish visual (hero, carrossel, skeletons, confetti) 2026-04-14 22:05:19 -03:00
Rodribm10
e55f793ffc docs: plano Fase 4 - multi-tenant SaaS + admin CRUD 2026-04-14 20:50:17 -03:00
Rodribm10
f578600877 docs: plano fase 3.5 (angelina prefill + fechamento fase 2+3) 2026-04-14 10:22:49 -03:00
Rodribm10
2216e082c1 docs: plano Fase 2+3 (backend Chatwoot + fluxo publico completo)
Plano combinado com 19 tasks bite-sized:
- Parte A: seed de dados de teste em reserva_hotel
- Parte B (Fase 2): controller publico Chatwoot com 2 endpoints,
  auth por token, 8 specs RSpec, smoke test via curl
- Parte C (Fase 3): client HTTP, formatadores, catalogoService,
  useReservationForm, StayDetailsStep, ImageGallery, PriceSummary,
  CustomerForm, PixCheckout com polling, SuccessScreen, ReservationFlow

Usa Captain::Unit id=4 (Hotel 1001 Aguas Lindas, inbox_id=2)
como unidade de teste (ja configurada com credenciais Inter).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 23:37:43 -03:00
Rodribm10
b37e96465a docs: adapta plano da Fase 1 para reusar schema reserva_hotel
Em vez de criar schema novo reserva_1001, reaproveita o schema
reserva_hotel existente no projeto Supabase acdvblhzzaneddlxqyst
(InAudit Hotel). Migration aditiva (3 tabelas + 4 colunas Chatwoot)
ja aplicada via MCP antes do plano iniciar.

Adaptacoes:
- Credenciais reais do projeto em .env.local
- Cliente Supabase com db.schema = reserva_hotel
- Tipos gerados com --schema reserva_hotel
- App.tsx le tabela 'marcas' (pt-br) em vez de 'brands'
- Mock do Vitest atualizado
- Task 5 vira "documenta migration aplicada" (sem db push)
- Task 6 usa supabase link + gen types --schema

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:53:28 -03:00
Rodribm10
7606b336a3 docs: adiciona plano de implementacao da Fase 1 (Fundacao)
Plano detalhado em 13 tasks bite-sized para construir a fundacao
do novo app reserva-1001: Vite + React 19 + TS + Tailwind v4 +
Supabase + shadcn/ui base, com paleta premium aplicada e schema
novo aplicado no banco. Entrega: app rodando com as 4 marcas
vindas do Supabase.

Fases subsequentes (backend Chatwoot, fluxo publico, admin,
polish visual, deploy) viram planos separados.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:31:32 -03:00
Rodribm10
944cec7136 docs: adiciona spec de design da Reserva Rede 1001
Novo app publico de reserva (Vite + React + Supabase) separado do
Chatwoot, que reusa toda a tubulacao de PIX (CobService, PixCharge,
webhook Inter, ConfirmationService) via um endpoint novo no Chatwoot.

Cobre: arquitetura, paleta premium, modelo de dados reformado
(corrige bug de preco nos domingos), contrato da API nova, fluxo
do cliente, plano de entrega em 6 fases e riscos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:16:58 -03:00
Rodrigo Borba
6b214b38db feat: Adiciona configuração Active Storage proxy, refatora serviço de decriptografia WhatsApp para processar bytes diretamente e ajusta componentes de mídia. 2026-02-28 12:48:17 -03:00
gabrieljablonski
badd2ce030 docs: add VPN setup documentation for Baileys API using Gluetun and Mullvad 2026-02-23 19:18:07 -03:00
Pranav Raj S
b894b13e14
chore: Move docs to docs repository (#1694) 2021-01-26 16:43:45 +05:30
Sojan Jose
bba296b5c6
chore: update identity verification docs (#1677) 2021-01-21 11:27:34 +05:30
Pranav Raj S
cd7f17f280
chore: Update homebrew installation command (#1662) 2021-01-18 00:09:43 +05:30
Sojan Jose
b6e8173b24
feat: HMAC verification for web widget (#1643)
* feat: HMAC verification for web widget. Let you verify the authenticated contact via HMAC on the web widget to prevent data tampering.
* Add docs for identity-validation

Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-01-17 22:44:03 +05:30
Pranav Raj S
03487019b6
chore: Add steps to enable inbound_emails in the account (#1614) 2021-01-06 18:16:38 +05:30
Pranav Raj S
08f1e0eb32
chore: Add docs about GCS Storage (#1560) 2020-12-28 23:15:45 +05:30
Pranav Raj S
99125d3b9c
chore: Add limitations section to Heroku (#1559) 2020-12-28 21:24:38 +05:30
Pranav Raj S
ac7fdaa997
chore: Add documentation for Maxmind geocoder setup (#1518) 2020-12-16 00:32:05 +05:30
Pranav Raj S
f0fd93bfea
chore: Update Mac OS setup guide (#1512) 2020-12-15 01:17:17 +05:30
Pranav Raj S
060ef4a427
chore: Add steps for copying targets in linux VM (#1508) 2020-12-12 13:25:28 +05:30
Adam Zysko
30802e0c13
feat: Ability to set installation-wide default locale (#1433)
* Dashboard locale can be set via env variable
* Change account locale based on registration page
* Set account locale if available

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-11-24 18:34:31 +05:30
simon klemenc
fcf91f60fb
chore: Remove invalid quotes in Dockerfile instructions (#1431)
Co-authored-by: hiaselhans <simon.klemenc@gmail.com>
2020-11-22 21:50:56 +05:30
Adam Zysko
61d26f71c1
chore: bump ruby from 2.7.1 to 2.7.2 (#1426)
Closes:  #1399
2020-11-20 15:38:13 +05:30
Pranav Raj S
29bd05ccfb
chore: Add documentation on translation process (#1424) 2020-11-18 15:27:50 +05:30
Pranav Raj S
54214c73aa
fix: Update production installation setup script for Ubuntu 20.04 (#1364)
Setup script for Ubuntu 20.04

Fixes: #1364
2020-10-25 22:40:13 +05:30
Sojan Jose
5d5d2f9779
chore: Update contribution guidelines (#1326)
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-10-09 14:08:43 +05:30
Pranav Raj S
d6ada922c8
chore: Fix wrong documentation to set a label (#1269) 2020-09-24 23:20:25 +05:30
Pranav Raj S
bc8becf49c
chore: Update website-sdk documentation (#1267)
Update the `website-sdk` documentation to reflect the feedback on setUser method from a customer
2020-09-23 15:27:11 +05:30
Sojan Jose
31c07771e8
feat: Notification on new messages in conversation (#1204)
fixes: #895
fixes: #1118
fixes: #1075

Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-09-10 19:19:15 +05:30
Pranav Raj S
3b92c744d6
fix: Update documentation to use launcherTitle (#1212) 2020-09-09 11:27:31 +05:30
Pranav Raj S
3ac32a3fbd
chore: Add documentation to setup Cloudfront as the CDN (#1193)
Add documentation to setup Cloudfront as the CDN
2020-09-03 14:54:11 +05:30
Pranav Raj S
29d13fbb4f
chore: Add documentation for API channel (#1179) 2020-08-30 21:46:36 +05:30
Pranav Raj S
45cd949c40
feat: Add a popout option on webwidget (#1174)
* feat: Add a popout option on webwidget
2020-08-28 17:39:46 +05:30
Sojan Jose
cdd385b269
feat: Custom Attributes for contacts (#1158)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-08-21 19:30:27 +05:30
Pranav Raj S
e8912655a5
feat: Allow user to change the bubble title using SDK (#1155)
- Allow user to change the bubble title using SDK
- Add docs for enabling expanded bubble
2020-08-19 22:24:02 +05:30
Pranav Raj S
f5374e0cd9
chore: Add documentation for DATABASE_URL environment variable (#1146) 2020-08-14 17:29:35 +05:30
Pranav Raj S
0117997fb1
chore: Add docs on customizing email template content (#1141) 2020-08-13 15:06:32 +05:30
Pranav Raj S
0adbc346df
feat: Add an extended bubble design for the widget (#1123)
* feat: Add a new design for chat bubble

Signed-off-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>

* Add i18n

* Fix stye issues

* Set fixed font-size

* Update docs for bubble
2020-08-09 16:07:32 +05:30
Bharat Patodi
858b72a404
chore: Update documentation in sdk, channels (#1094)
Fix channels/whatsapp-sms-twilio.md
2020-07-26 12:18:54 +05:30
Pranav Raj S
12ee7e5d82
feat: Add chatwoot:ready event listener on window (#1091)
* feat: Add `chatwoot:ready` event listener on window

* Add specs

* Rename customEventHelper.js -> CustomEventHelper.js
2020-07-25 21:54:58 +05:30
Bharat Patodi
80b083c7fc
Chore: Fix Docs for FB Twitter Website Channel (#1085) 2020-07-24 23:34:43 +05:30
Sojan Jose
e72f29a26e
Chore: Update storage to support s3 compatible services (#1082)
This change is to allow using s3 compatible services such as DigitalOcean spaces, Minio, etc

Co-authored-by: petebytes <pete@apsion.com>
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-07-22 11:53:47 +05:30
Sojan Jose
d6f309ce22
Chore: Initialize Cypress tests (#1078)
Addresses: #412

Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-07-21 20:11:22 +05:30
Sojan Jose
d800b55ac6
Chore: Add display name to the user (#1067)
* Chore: Adding browser info to web widget triggered event

fixes: #970

* Chore: Rename nickname to display name

references: #972

* Chore: Change nickname in code

* chore: fix errors

* Chore: update nginx config

fixes: #1057

* Chore: Fix specs
2020-07-20 18:28:14 +05:30