✅ Execução 96d79bd8...
96d79bd8-3821-4b45-91cd-a971a012a2b0
📊 Status
✅ Sucesso
Criado: 12/01/2026 19:59:10
Iniciado: 12/01/2026 19:59:12
Finalizado: 12/01/2026 20:06:40
Duração: 7.5 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_normsClientes (1):
Terracota BPO
💰 Custos LLM
$0.0069
1060 tokens em 2 chamadas
Auto-envio: Não
Formato: PDF
📋 Tarefas
| ID | Tipo | Status | Criado | Início | Fim | Worker | Erro |
|---|---|---|---|---|---|---|---|
| 34 | send_email | success | 20:25:21 | 20:25:21 | 20:25:48 | ubuntu-pedro | - |
| 33 | run_daily | success | 19:59:10 | 19:59:12 | 20:06:45 | ubuntu-pedro | - |
📝 Logs
Saída padrão (stdout):
[openai] → Analisando seção chunk_0 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_0 concluída em 3.4s [openai] → Analisando seção chunk_1 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_1 concluída em 5.1s [openai] → Analisando seção chunk_2 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_2 concluída em 14.4s [openai] → Analisando seção chunk_3 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_3 concluída em 20.3s [openai] → Analisando seção chunk_4 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_4 concluída em 13.3s [openai] → Analisando seção chunk_5 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_5 concluída em 13.7s [openai] → Analisando seção chunk_6 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_6 concluída em 12.1s [openai] → Analisando seção chunk_7 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_7 concluída em 7.4s [openai] → Analisando seção chunk_8 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_8 concluída em 16.2s [openai] → Analisando seção chunk_9 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_9 concluída em 16.1s [openai] → Analisando seção chunk_10 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_10 concluída em 16.5s [openai] → Analisando seção chunk_11 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_11 concluída em 14.0s [openai] → Analisando seção chunk_12 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_12 concluída em 22.3s [openai] → Analisando seção chunk_13 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_13 concluída em 14.6s [openai] → Analisando seção chunk_14 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_14 concluída em 11.7s [openai] → Analisando seção chunk_15 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_15 concluída em 28.1s [openai] → Analisando seção chunk_16 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_16 concluída em 9.5s [openai] → Analisando seção chunk_17 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_17 concluída em 4.1s [openai] → Analisando seção chunk_18 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_18 concluída em 6.3s [openai] → Analisando seção chunk_19 da norma rdc_843_2024 com modelo gpt-4o [openai] ← Análise da seção chunk_19 concluída em 3.2s [openai] → Filtrando notícia 'Anvisa aprova nova indicação de medicamento para prevenção d...' usando modelo gpt-4o [openai] ← Resultado da filtragem recebido em 2.8s [openai] → Filtrando notícia 'Anvisa proíbe duas marcas de cosméticos irregulares...' usando modelo gpt-4o [openai] ← Resultado da filtragem recebido em 2.8s ================================================================================ 📊 RESUMO DE USO DO LLM ================================================================================ Total de chamadas: 2 Tokens de prompt: 897 Tokens de resposta: 163 Tokens totais: 1060 Custo estimado: 0.0069 USD LLM Cost: $0.0069 LLM Tokens: 1060 LLM Calls: 2 Por modelo: - GPT-4o: 2 chamadas, 1060 tokens, custo 0.0069 USD Por componente (atividade): - news_relevance_filter: 2 chamadas, 1060 tokens, custo 0.0069 USD ================================================================================ ✓ Daily run completed for context 'food_norms' on 2026-01-12. Total norms: 40 | Checked: 40 | Changed: 1 | Errors: 0 Report: data/reports/pending/2026-01-12_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 v5 para rdc_843_2024 🔍 [DEBUG] PASSO 2: Mudanças detectadas comparando .md (WEB vs LOCAL): 289 parágrafos, 51 sentenças 🔍 [DEBUG] PASSO 4: Mudança detectada por comparação de .md, forçando criação de nova versão 💾 [DEBUG] PASSO 5: Salvando conteúdo da WEB normalizado para rdc_843_2024 v6 em data/normalized/rdc_843_2024/v6.md 🔍 [DEBUG] Iniciando chunking para rdc_843_2024 v6 (first_run=False, previous_version=5) ✅ [DEBUG] Chunks salvos: 20 chunks em data/chunks/rdc_843_2024/v6 🔍 [DEBUG] Filtro de chunks: 20 relevante(s) de 20 total(is) (0 filtrado(s)) ✅ [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.