Terracota BPO - Web Monitor
Tecnologia em Compliance - Monitoramento de Normas

✅ Execução 8b0998fc...

8b0998fc-aace-48f5-ad0c-91ad7bef887c

← Voltar 📄 Ver Relatório

📊 Status

✅ Sucesso

Criado: 15/01/2026 07:25:20

Iniciado: 15/01/2026 07:25:20

Finalizado: 15/01/2026 07:26:07

Duração: 0.8 minutos

📁 Contexto

Normas de Alimentos – Brasil / Mercosul / Codex

Catálogo de normas de segurança de alimentos, rotulagem, aditivos, contaminantes, microbiologia, emb...

Monitoramento:

Monitoramento food_norms

Clientes (1):

Terracota BPO

💰 Custos LLM

Aguardando dados...

Auto-envio: Não

Formato: PDF

📋 Tarefas

ID Tipo Status Criado Início Fim Worker Erro
51 send_email success 07:26:52 07:26:54 07:27:11 ubuntu-pedro -
50 run_daily success 07:25:20 07:25:20 07:26:10 ubuntu-pedro -

📝 Logs

Saída padrão (stdout):

💰 Nenhuma chamada LLM registrada nesta execução.
LLM Cost: $0.0000
LLM Tokens: 0
LLM Calls: 0
✓ Daily run completed for context 'food_norms' on 2026-01-15.
  Total norms: 40 | Checked: 40 | Changed: 0 | Errors: 0
  Report: data/reports/pending/2026-01-15_report.html
  (Dry run: email not sent)

Erros (stderr):

✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_211_2023: 2316619 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v2 para in_211_2023
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_778_2023: 21685 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_778_2023
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_243_2018: 23914 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_243_2018
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_976_2025: 80946 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_976_2025
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para dl_986_1969: 34768 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para dl_986_1969
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para decreto_6_871_2009: 124694 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para decreto_6_871_2009
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para portaria_mapa_368_1997: 37803 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para portaria_mapa_368_1997
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para portaria_mapa_46_1998: 54215 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para portaria_mapa_46_1998
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_216_2004: 37822 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_216_2004
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_275_2002: 38963 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_275_2002
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_160_2022: 47333 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para in_160_2022
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_722_2022: 8022 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_722_2022
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para lei_9_832_1999: 1229 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para lei_9_832_1999
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para portaria_svs_ms_27_1996: 9918 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para portaria_svs_ms_27_1996
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_122_2001: 9142 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_122_2001
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_123_2001: 38971 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_123_2001
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_326_2019: 143711 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_326_2019
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_51_2010: 2512 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_51_2010
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_51_2010_anexo: 68441 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_51_2010_anexo
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_52_2010: 18921 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_52_2010
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_854_2024: 36761 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_854_2024
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_88_2016: 116421 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_88_2016
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_91_2001: 10334 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_91_2001
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para cxc_1_1969: 143323 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para cxc_1_1969
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para cxs_1_1985: 31952 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para cxs_1_1985
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para res_gmc_26_03: 21715 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para res_gmc_26_03
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para res_gmc_80_96: 44563 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para res_gmc_80_96
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_mapa_46_2007: 38608 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v5 para in_mapa_46_2007
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_mapa_76_2018: 16652 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para in_mapa_76_2018
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
/home/pedro-brigido/terracota_project/web_monitor/.venv/lib/python3.11/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.defesa.agricultura.sp.gov.br'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para portaria_mapa_146_1996: 64355 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para portaria_mapa_146_1996
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_161_2022: 12309 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para in_161_2022
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_724_2022: 930 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_724_2022
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_mapa_11_2000: 3723 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v2 para in_mapa_11_2000
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para portaria_sda_664_2022: 8473 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para portaria_sda_664_2022
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para portaria_sda_765_2023: 9494 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para portaria_sda_765_2023
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_281_2024: 31188 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v8 para in_281_2024
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_843_2024: 35061 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v6 para rdc_843_2024
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para in_75_2020: 77529 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para in_75_2020
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_429_2020: 53306 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_429_2020
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
✅ [DEBUG] PASSO 1: Conteúdo da WEB convertido para .md para rdc_727_2022: 38783 caracteres
🔍 [DEBUG] PASSO 2: Comparando .md da WEB com arquivo local v1 para rdc_727_2022
🔍 [DEBUG] PASSO 2: Nenhuma mudança de conteúdo detectada (apenas formatação)
🔍 [DEBUG] PASSO 4: Conteúdo idêntico detectado por comparação de .md, ignorando mudança de hash
⚠️  Email não enviado: EmailSender não foi configurado. Verifique as variáveis de ambiente EMAIL_FROM e EMAIL_TO.