ORGANOGRAMA INFRA TRS - srv1762951.hstgr.cloud

Gerado automaticamente em 2026-10-20T09:00:09+00:00 por /usr/local/bin/trs-organograma (n8n + contingencia cron)

KPIs ao vivo

13 / 15
monitores uptime kuma UP
18
procs gunicorn
11
services trsadv-* ativos
56
rotas no Caddyfile
32
backups workflows n8n
37
backups postgres (pg_dump)
8
chaves SSH autorizadas
291
workflows n8n ativos
2
falhas n8n em 24h
12
certidoes PcD no Turnstile
23
relatorios para revisao humana
39
relatorios em revisao tecnica
1
relatorios bloqueados
0
aprovados para envio
678
caminhos >240 (OneDrive)

Release gate dos relatorios de clientes

ControleEstado atual
Processos sem vinculo inequivoco de cliente28
Casos com task ADVBOX aberta e deadline vencida6
Workflow diario[CRON] trsadv-report-readiness ativo no n8n
Regra de enviosomente APROVADO_PARA_ENVIO; um unico processo bloqueado impede o relatorio inteiro

Transcricao de audio (offline)

ComponenteEstado
Binario whisper-cli (whisper.cpp)sim
Modelos em /opt/whisper-models2 — turbo: sim · small: sim
Funcoes no trsadv_lib.pysim — whisper_transcribe, transcrever
Motor do [CRON] trsadv-wf71-audiowhisper local (fallback Gemini)
Escolha do modelopor duracao: ate 5 min usa large-v3-turbo; acima usa small (medido: turbo 3,8x mais lento que o tempo real; small 0,84x)
Regra de sigiloarquivo com __SIGILO__ no nome nunca vai para a nuvem — se o Whisper falhar, nao ha transcricao
Fila255 pendentes · 229 processados em /var/lib/trsadv-audios-pendentes
Log/var/log/trsadv-wf71.log — 45971 bytes

Recursos do host

RecursoUso
Disco /152G / 193G (79%)
Memoria8.5Gi / 15Gi
Swap2.0Gi / 2.0Gi
Load average30.73, 8.89, 4.75

Containers Docker

NomeImagemStatusPortas
penpot-penpot-frontend-1penpotapp/frontend:2.18Up 3 days127.0.0.1:9201->8080/tcp
penpot-penpot-backend-1penpotapp/backend:2.18Up 3 days
penpot-penpot-exporter-1penpotapp/exporter:2.18Up 3 days
penpot-penpot-admin-console-1penpotapp/admin-console:2.18Up 3 days3000/tcp
penpot-penpot-postgres-1postgres:15Up 3 days (healthy)5432/tcp
penpot-penpot-mcp-1penpotapp/mcp:2.18Up 3 days
penpot-penpot-mailcatch-1sj26/mailcatcher:latestUp 3 days1025/tcp, 127.0.0.1:1080->1080/tcp
penpot-penpot-valkey-1valkey/valkey:8.1Up 3 days (healthy)6379/tcp
chatwoot-sidekiq-1chatwoot/chatwoot:latestUp 3 days3000/tcp
chatwoot-rails-1chatwoot/chatwoot:latestUp 3 days127.0.0.1:3000->3000/tcp
chatwoot-minio-114cea493d9a3Up 3 days127.0.0.1:9000-9001->9000-9001/tcp
chatwoot-postgres-1pgvector/pgvector:pg16Up 3 days5432/tcp
chatwoot-redis-1redis:7-alpineUp 3 days6379/tcp
estudio-redisredis:7-alpineUp 3 days (healthy)127.0.0.1:6380->6379/tcp
estudio-postgrespgvector/pgvector:pg16Up 3 days (healthy)127.0.0.1:5433->5432/tcp
evolution-apievoapicloud/evolution-api:v2.3.7Up 3 days127.0.0.1:8080->8080/tcp
evolution-redisredis:7-alpineUp 3 days6379/tcp
n8ndocker.n8n.io/n8nio/n8n:2.26.4Up 3 days5678/tcp
caddycaddy:2-alpineUp 3 days0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:443->443/udp, [::]:443->443/udp, 2019/tcp
uptime-kumalouislam/uptime-kuma:1Up 3 days (healthy)127.0.0.1:3001->3001/tcp
n8n-postgrespostgres:16-alpineUp 3 days (healthy)5432/tcp

n8n: 2.26.4 · caddy: v2.11.4

Services Python (gunicorn no host)

ServiceStatus
trsadv-api-contratos.serviceactive
trsadv-brain-lead-intake.serviceactive
trsadv-copiloto.serviceactive
trsadv-graph-webhook.serviceactive
trsadv-onboarding.serviceactive
trsadv-orchestrator.serviceactive
trsadv-token-warm.serviceactive
trsadv-vitoria.serviceactive
trsadv-webhook-advbox.serviceactive
trsadv-wf17.serviceactive
trsadv-wf50.serviceactive

Monitoring (Uptime Kuma)

13 de 15 monitores com o último estado saudável. Monitores HTTP verificam normalmente a cada 60s; monitores push seguem a janela própria. Notificacao Telegram ATIVA · Dashboard publico de saude · todos os 5 apps Python tem rota /__health JSON (bot @trs_uptime_alerts_bot -> Dr. Tiago). Acesso tecnico ao Kuma: ssh -L 3001:127.0.0.1:3001 trs-vps -N -> http://localhost:3001

Superficie e auditoria operacional

O Caddy possui 56 matchers/rotas. Os caminhos detalhados nao sao publicados neste organograma para evitar revelar endpoints internos. Auditoria visual de agendadores (o JSON bruto permanece bloqueado externamente).

Pendencias abertas (fonte: /root/docs/PENDENCIAS.md)

#PendenciaDono
A1DMARC ausente — criar TXT _dmarc (M365 DNS, comecar p=none)Dr. Tiago
A2DKIM nao habilitado — Defender M365 (security.microsoft.com)Dr. Tiago
B1Validacao live-run Meta 01/03 — automatico 13:45 SP 02/07 (email resumo)automatico
C1Decidir update n8n 2.26.4 -> versao nova (pinado, risco)Dr. Tiago
D1Limpar ~10 backups dev RPA selenium_a1.py.bak-codex-*Claude
D2trs_gasto_ias so 4 registros — instrumentar custo IA ou remover painel EEClaude

Detalhe completo + comandos: ssh trs-vps cat /root/docs/PENDENCIAS.md

Nucleo de regras do atendimento — Dra. Vitoria

Restaurado em 22/08/2026 do padrao do Dr. Tiago. Fica no topo do SYSTEM_PROMPT_DRA_VITORIA_v2.md e prevalece sobre todo o resto do arquivo. Consulta por API: /api/regras-atendimento.

Invioláveis

Coleta basica

Nome · nacionalidade · estado civil · profissao · endereco com CEP (uso interno) · comprovante de residencia · e-mail · resumo · por onde veio · area juridica.

Deriva corrigida: 12 dos 18 itens do padrao haviam sumido do prompt em producao — entre eles o limite de 50 palavras, o antifraude e a proibicao de endereco. Politica de endereco definida em 22/08: informar, sim; marcar, nao. O CEP correto e 01310-902 (o 01310-100 que circulava em relatorios esta errado).

REGRA CANONICA — CTPS Digital: pedir, abrir e analisar

Vigente desde 21/08/2026. Vale para todos — Dra. Vitoria, Claude, GPT, Gemini, NotebookLM, n8n e humanos. Fonte unica: /opt/trsadv-shared/REGRA_CTPS_DIGITAL.md.

  1. Pedir sempre a CTPS Digital em PDF, com TODOS os vinculos. Nunca aceitar foto ou print no lugar. "Minha carteira era de papel" NAO dispensa — ela puxa os registros antigos do CNIS. Extrato de UM contrato nao serve.
  2. Recebida a CTPS, ABRIR E ANALISAR na hora — documento recebido e nao lido e documento que nao existe.
  3. Ler os ultimos 2 anos, vinculo por vinculo: empresa, CNPJ, data de admissao e data de saida. A bienal corre da SAIDA.
  4. Perguntar o motivo de CADA saida: pediu demissao? foi justa causa?
  5. Se nao foi pedido de demissao nem justa causa, ANALISAR TODAS AS EMPRESAS. Cada dispensa dentro da bienal e uma acao possivel — nao parar na primeira.
  6. Se vier um unico registro, perguntar sobre os outros e pedir a carteira COMPLETA em PDF.

Replicada em: SSOT regras_trs.yaml (secao documentos_do_cliente) · playbooks e system prompt da Vitoria · ROTEIRO_TRIAGEM_PCD · skills de triagem e estrutura PcD · RAG · API /api/regras-documentos (n8n e IAs externas).

Origem: conversa 72 (21/08) — o robo aceitou "pode me enviar o que tiver" e passou a combinar QUAIS PAGINAS fotografar. O passo a passo ja existia, mas terminava com "se nao achar exportar, pode mandar prints da tela mesmo".

Atendimento — WhatsApp, Instagram e Chatwoot

CanalInboxPonteEstado
WhatsApp (11) 91768-9407 — numero OFICIAL do site/Google#3Evolution API v2.3.7 (nao-oficial, Baileys) — imagem evoapicloudconectado — instancia trs-oficial
Instagram @tiagorsadv#2Channel::Instagram nativo (Graph API v22.0)conectado — bot Vitoria ATIVO
Inbox legado#1Channel::Api (casca sem canal real)morta — ignorar

Decisao de arquitetura

NAO usamos a API oficial do WhatsApp (Cloud API). Motivo: com a API oficial o numero deixa de funcionar no aplicativo do celular. Como o Dr. Tiago precisa continuar respondendo pelo celular, ficamos na ponte nao-oficial. A WABA e' nossa (portfolio TRS 792751453410778) — a Tivas era apenas BSP, nao dona.

Tres armadilhas ja resolvidas (nao regredir)

Roteamento automatico

Regra 9 — PCD -> time Trabalhista + etiqueta pcd, com 22 radicais (pcd, deficien, laudo, art 93, cota, autis, surdo, cadeirante, monocular, amputa, protese, invalidez, reabilita, baixa visao, cegueira, down...). Ela precisa ser a de maior id: o Chatwoot roda as regras com rules.each sem ORDER BY, e a regra 3 (pending -> Triagem) sobrescrevia a atribuicao. A regra 1 antiga foi desativada por so ter 5 radicais — contains compara string inteira, entao "deficiencia" nao pega "deficiente".

Mutirao de leads PCD do Instagram (20/08/2026)

Varredura de 1.399 conversas do Direct. 54 leads respondidos um a um, com pedido de desculpas pela demora; 2 descartados como falso-positivo (hdn.engenharia e' fornecedor de laudos B2B; ferreira7752023 so encaminha reels). Os casos com pergunta juridica concreta foram respondidos no merito, nao com texto padrao.

Achado grave: um contato relatou que o (11) 91768-9407 devolve "numero invalido" no WhatsApp. Conferir assim que o pareamento voltar.

Comandos

Acessos rapidos

Helpers (/usr/local/bin)

Monitoramento & self-healing (sessao 2 — 01/07)

Seguranca (sessao 2)

Backups estendidos (sessao 2)

Helpers no Mac (Dr. Tiago)

Documentos vivos (caminhos NO SERVIDOR — acessa via ssh trs-vps + cat)

Auditoria 30/06 -> 01/07 (A -> P + sessao 2: S-Y, QQ-VV)

17 auditorias, ~9 bugs consertados, 999 clientes catalogados, ~45 commits

AudScript / Fix
A+BDiagnostico ADVBOX + Uptime Kuma 10 monitores
Cpainel_cliente.py + wf10 filtro anti-poluicao
DBUG ADVBOX customers_id plural IGNORADO -> customer_id singular (wf18/19/16/70)
E3 filtros ADVBOX bugados (birthday, name, paginacao) -> filtrar LOCAL
E.1TRS-05 do n8n ja estava correto -> aniv_diario.py desativado
Fwf132 fix + fix_advbox_ids.py + match_pastas_advbox.py (18 IDs)
Gwf18 v2 extrai signatario D4Sign (nome+cpf+email)
Hreconciliar_417.py - cobertura 100% (582 -> 999)
Imatch_46_agressivo.py - 2 confirmados + 40 precisa_cadastro
Jparse_incompleto 46 -> 8 (extract ID + marcar duplicatas Civel)
Kwf06 v3.1: formatar CEP 99999-999 + birthdate YYYY-MM-DD
Lbackup.sh v2: git bundle (1.8MB vs 4.6GB tar .git)
M4 emails aniversario enviados 01/07 + aniv_diario.py BACKUP 12:15 UTC
NDebug bug TRS-05 execucao 190 — filtro devolveu 0 items
OFix TRS-05 via SQL revertido — dolar_input aponta node anterior errado
PCAUSA RAIZ TRS-05: filtro isPF velho checava document=RG em vez de identification=CPF
S-Xdashboard-saude + Telegram 10 checks + auditoria wf + manual + wf72 fora do repo
RMeta 01 NULLIF bigint + Meta 03 Number() coercion (root cause)
W/Yaudit 0 wf vulneraveis + restore dry-run automatizado
II/KKself-heal Gunicorn + freshness dashboards
QQ/NNsecurity headers CSP+HSTS + fail2ban caddy-abuse
OO/SSpg_stat_statements + Error Handler Central n8n (validado)

Detalhes: /root/docs/INVENTARIO_ACESSOS.md secoes A a P

WF243 NEGOCIOS + HSM WhatsApp (02/07/2026)

ItemEstado
Pipeline NEGOCIOS1414 leads · 507 ADVBOX · 1282 Chatwoot · 1283 com telefone (backfill Digisac data.number)
Biblioteca HSM113 templates (74 UTILITY + 39 MARKETING) todo o ciclo + genericos flexiveis + nudges. /opt/trsadv-shared/HSM_TEMPLATES_META.md
Cadencia reativacao1283 leads (Q/C/M/F) · 4601 envios/14d · ~R\.380 · WF244 (n8n, DESATIVADO ate WABA)
Regras bot Vitoriacurriculo->contato@trsadv.com.br assunto VAGA; avaliacao pos-atendimento + avaliacao pessoal (lead sem fit) -> g.page/r/CULoV-9VBXnrEBM/review
Bloqueador unicoMigracao WABA da Tivas — EMAIL_TIVAS_FOLLOWUP.md