{
  "gerado_em": "2026-10-25",
  "execucoes": [
    {
      "id": "run_2026_10_25_1614",
      "data_hora": "2026-10-25T16:14:12-03:00",
      "fim": "2026-10-25T16:14:44-03:00",
      "ts": "2026-10-25T19:14:12+00:00",
      "ts_fim": "2026-10-25T19:14:44+00:00",
      "idade_horas": 0.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 32,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 20.98,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.72
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 19.3
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.3
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 7.4,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 19.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T16:14:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T16:14:43-03:00",
          "ultima_execucao_ok": "2026-10-25T16:14:44-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T16:14:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-25T16:14:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T16:14:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T16:14:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 13.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-25T16:14:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T16:14:12-03:00",
          "ultima_execucao_ok": "2026-10-25T16:14:12-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T16:14:12-03:00",
          "ultima_execucao_ok": "2026-10-25T16:14:12-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 29,
        "falhas": 13,
        "cache": 0,
        "tempo_total": 9.34,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.29
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.42
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.38
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.61
          },
          "eu_parliament": {
            "chamadas": 9,
            "falhas": 5,
            "tempo_total": 4.8
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.72
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.12
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_25_1020",
      "data_hora": "2026-10-25T10:20:31-03:00",
      "fim": "2026-10-25T10:20:54-03:00",
      "ts": "2026-10-25T13:20:31+00:00",
      "ts_fim": "2026-10-25T13:20:54+00:00",
      "idade_horas": 5.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 14.6,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.93
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.63
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 12.95
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.08
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 4.8,
        "descoberta_procedimentos": 4.0,
        "fontes_multiorgao": 13.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T10:20:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T10:20:52-03:00",
          "ultima_execucao_ok": "2026-10-25T10:20:54-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T10:20:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-25T10:20:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T10:20:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T10:20:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-25T10:20:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T10:20:31-03:00",
          "ultima_execucao_ok": "2026-10-25T10:20:31-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T10:20:31-03:00",
          "ultima_execucao_ok": "2026-10-25T10:20:31-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 8.22,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.23
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.43
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.66
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.64
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.41
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.64
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.21
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_25_0649",
      "data_hora": "2026-10-25T06:49:46-03:00",
      "fim": "2026-10-25T06:50:17-03:00",
      "ts": "2026-10-25T09:49:46+00:00",
      "ts_fim": "2026-10-25T09:50:17+00:00",
      "idade_horas": 9.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 31,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 23.48,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.54
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 22.23
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.03
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 12.4,
        "descoberta_procedimentos": 3.9,
        "fontes_multiorgao": 13.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T06:50:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T06:50:15-03:00",
          "ultima_execucao_ok": "2026-10-25T06:50:17-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T06:50:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-25T06:50:05-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T06:50:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.1,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-25T06:50:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-25T06:50:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T06:49:46-03:00",
          "ultima_execucao_ok": "2026-10-25T06:49:46-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-25T06:49:46-03:00",
          "ultima_execucao_ok": "2026-10-25T06:49:46-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 8.51,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.41
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.32
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.12
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.54
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.36
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.97
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_24_1558",
      "data_hora": "2026-10-24T15:58:20-03:00",
      "fim": "2026-10-24T15:59:10-03:00",
      "ts": "2026-10-24T18:58:20+00:00",
      "ts_fim": "2026-10-24T18:59:10+00:00",
      "idade_horas": 24.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 50,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.12,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.89
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.57
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.42
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.23
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 1.6,
        "descoberta_procedimentos": 4.1,
        "fontes_multiorgao": 42.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T15:58:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T15:59:08-03:00",
          "ultima_execucao_ok": "2026-10-24T15:59:10-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T15:59:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-24T15:58:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.1,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T15:58:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T15:58:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 36.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-24T15:58:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T15:58:20-03:00",
          "ultima_execucao_ok": "2026-10-24T15:58:20-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T15:58:20-03:00",
          "ultima_execucao_ok": "2026-10-24T15:58:20-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 37.88,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.34
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.29
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.46
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.13
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 32.36
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.68
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.62
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_24_0954",
      "data_hora": "2026-10-24T09:54:22-03:00",
      "fim": "2026-10-24T09:54:48-03:00",
      "ts": "2026-10-24T12:54:22+00:00",
      "ts_fim": "2026-10-24T12:54:48+00:00",
      "idade_horas": 30.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 25,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 8.41,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.07
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.76
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.11
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.47
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 3.8,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 15.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T09:54:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T09:54:46-03:00",
          "ultima_execucao_ok": "2026-10-24T09:54:48-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T09:54:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-24T09:54:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T09:54:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T09:54:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-24T09:54:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T09:54:22-03:00",
          "ultima_execucao_ok": "2026-10-24T09:54:22-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T09:54:22-03:00",
          "ultima_execucao_ok": "2026-10-24T09:54:22-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 10.05,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.36
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.62
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.57
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.32
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.97
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.76
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.45
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_24_0633",
      "data_hora": "2026-10-24T06:33:32-03:00",
      "fim": "2026-10-24T06:34:02-03:00",
      "ts": "2026-10-24T09:33:32+00:00",
      "ts_fim": "2026-10-24T09:34:02+00:00",
      "idade_horas": 33.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 29,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 8.44,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.92
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.95
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.48
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.09
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 2.9,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 20.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T06:33:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T06:33:59-03:00",
          "ultima_execucao_ok": "2026-10-24T06:34:02-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T06:34:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-24T06:33:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T06:33:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-24T06:33:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 13.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-24T06:33:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T06:33:32-03:00",
          "ultima_execucao_ok": "2026-10-24T06:33:32-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-24T06:33:32-03:00",
          "ultima_execucao_ok": "2026-10-24T06:33:32-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 28,
        "falhas": 12,
        "cache": 0,
        "tempo_total": 13.63,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.33
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.44
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.55
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.73
          },
          "eu_parliament": {
            "chamadas": 8,
            "falhas": 4,
            "tempo_total": 7.23
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.67
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.68
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_23_1704",
      "data_hora": "2026-10-23T17:04:08-03:00",
      "fim": "2026-10-23T17:04:39-03:00",
      "ts": "2026-10-23T20:04:08+00:00",
      "ts_fim": "2026-10-23T20:04:39+00:00",
      "idade_horas": 47.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 31,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 14.9,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.97
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.49
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 13.41
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.06
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 4.3,
        "descoberta_procedimentos": 3.8,
        "fontes_multiorgao": 21.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T17:04:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T17:04:37-03:00",
          "ultima_execucao_ok": "2026-10-23T17:04:39-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T17:04:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-23T17:04:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T17:04:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T17:04:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 16.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-23T17:04:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T17:04:08-03:00",
          "ultima_execucao_ok": "2026-10-23T17:04:08-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T17:04:08-03:00",
          "ultima_execucao_ok": "2026-10-23T17:04:08-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 29,
        "falhas": 13,
        "cache": 0,
        "tempo_total": 12.0,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.19
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.27
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.18
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.42
          },
          "eu_parliament": {
            "chamadas": 9,
            "falhas": 5,
            "tempo_total": 6.97
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.7
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.27
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_23_1047",
      "data_hora": "2026-10-23T10:47:04-03:00",
      "fim": "2026-10-23T10:47:29-03:00",
      "ts": "2026-10-23T13:47:04+00:00",
      "ts_fim": "2026-10-23T13:47:29+00:00",
      "idade_horas": 53.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 24,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 18.93,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.65
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.93
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 17.21
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.13
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 5.9,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 13.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T10:47:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T10:47:27-03:00",
          "ultima_execucao_ok": "2026-10-23T10:47:29-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T10:47:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-23T10:47:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T10:47:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T10:47:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-23T10:47:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T10:47:04-03:00",
          "ultima_execucao_ok": "2026-10-23T10:47:04-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T10:47:04-03:00",
          "ultima_execucao_ok": "2026-10-23T10:47:04-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 7.88,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.37
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.23
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.53
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.84
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.09
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.03
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_23_0705",
      "data_hora": "2026-10-23T07:05:47-03:00",
      "fim": "2026-10-23T07:06:10-03:00",
      "ts": "2026-10-23T10:05:47+00:00",
      "ts_fim": "2026-10-23T10:06:10+00:00",
      "idade_horas": 57.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 22,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.32,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.68
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.89
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.64
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.1
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 4.0,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 12.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T07:05:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T07:06:07-03:00",
          "ultima_execucao_ok": "2026-10-23T07:06:09-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T07:06:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-23T07:05:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T07:05:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-23T07:06:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.7,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-23T07:05:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T07:05:47-03:00",
          "ultima_execucao_ok": "2026-10-23T07:05:47-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-23T07:05:47-03:00",
          "ultima_execucao_ok": "2026-10-23T07:05:47-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 7.17,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.5
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.35
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.3
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.86
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.16
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.93
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.07
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_22_1716",
      "data_hora": "2026-10-22T17:16:49-03:00",
      "fim": "2026-10-22T17:17:11-03:00",
      "ts": "2026-10-22T20:16:49+00:00",
      "ts_fim": "2026-10-22T20:17:11+00:00",
      "idade_horas": 71.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.9,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.79
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.21
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.63
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.27
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.6,
        "descoberta_procedimentos": 4.8,
        "fontes_multiorgao": 13.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T17:16:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T17:17:09-03:00",
          "ultima_execucao_ok": "2026-10-22T17:17:11-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T17:17:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-22T17:16:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T17:16:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T17:17:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-22T17:16:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T17:16:49-03:00",
          "ultima_execucao_ok": "2026-10-22T17:16:49-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T17:16:49-03:00",
          "ultima_execucao_ok": "2026-10-22T17:16:49-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 8.92,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.47
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.61
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.86
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.45
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.45
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.8
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.28
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_22_1104",
      "data_hora": "2026-10-22T11:04:27-03:00",
      "fim": "2026-10-22T11:04:57-03:00",
      "ts": "2026-10-22T14:04:27+00:00",
      "ts_fim": "2026-10-22T14:04:57+00:00",
      "idade_horas": 77.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 29,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 16.4,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.84
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 14.26
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.27
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 8.8,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 14.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T11:04:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T11:04:54-03:00",
          "ultima_execucao_ok": "2026-10-22T11:04:57-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T11:04:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-22T11:04:44-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 3,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T11:04:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T11:04:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-22T11:04:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T11:04:27-03:00",
          "ultima_execucao_ok": "2026-10-22T11:04:27-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T11:04:27-03:00",
          "ultima_execucao_ok": "2026-10-22T11:04:27-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 9.69,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.33
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.51
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.55
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.0
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.04
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.47
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_22_0713",
      "data_hora": "2026-10-22T07:13:04-03:00",
      "fim": "2026-10-22T07:13:25-03:00",
      "ts": "2026-10-22T10:13:04+00:00",
      "ts_fim": "2026-10-22T10:13:25+00:00",
      "idade_horas": 81.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 20,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.77,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.88
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.33
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.44
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.12
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 4.8,
        "fontes_multiorgao": 13.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 166
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T07:13:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T07:13:23-03:00",
          "ultima_execucao_ok": "2026-10-22T07:13:25-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T07:13:24-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-22T07:13:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 3,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 27,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T07:13:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-22T07:13:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-22T07:13:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T07:13:04-03:00",
          "ultima_execucao_ok": "2026-10-22T07:13:04-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-22T07:13:04-03:00",
          "ultima_execucao_ok": "2026-10-22T07:13:04-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 8.11,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.44
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.58
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.42
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.2
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.44
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.25
          }
        }
      },
      "mudancas_multiorgao": 1
    },
    {
      "id": "run_2026_10_21_1720",
      "data_hora": "2026-10-21T17:20:31-03:00",
      "fim": "2026-10-21T17:21:00-03:00",
      "ts": "2026-10-21T20:20:31+00:00",
      "ts_fim": "2026-10-21T20:21:00+00:00",
      "idade_horas": 94.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 29,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 18.4,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.05
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.79
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 16.15
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.38
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 7.6,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 15.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 165
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T17:20:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T17:20:58-03:00",
          "ultima_execucao_ok": "2026-10-21T17:21:00-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T17:20:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-21T17:20:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 26,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T17:20:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T17:20:50-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-21T17:20:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T17:20:31-03:00",
          "ultima_execucao_ok": "2026-10-21T17:20:31-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T17:20:31-03:00",
          "ultima_execucao_ok": "2026-10-21T17:20:31-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 11,
        "cache": 0,
        "tempo_total": 10.39,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 5,
            "tempo_total": 0.39
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.36
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.9
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.89
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.31
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.11
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.43
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_21_1105",
      "data_hora": "2026-10-21T11:05:48-03:00",
      "fim": "2026-10-21T11:06:31-03:00",
      "ts": "2026-10-21T14:05:48+00:00",
      "ts_fim": "2026-10-21T14:06:31+00:00",
      "idade_horas": 101.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 43,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 29.26,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.05
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.93
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 27.17
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.11
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 16.6,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 20.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 165
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T11:06:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T11:06:29-03:00",
          "ultima_execucao_ok": "2026-10-21T11:06:31-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T11:06:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-21T11:06:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 26,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T11:06:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T11:06:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 11.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-21T11:06:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T11:05:48-03:00",
          "ultima_execucao_ok": "2026-10-21T11:05:48-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T11:05:48-03:00",
          "ultima_execucao_ok": "2026-10-21T11:05:48-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 28,
        "falhas": 7,
        "cache": 0,
        "tempo_total": 13.92,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.17
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.61
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.78
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.9
          },
          "eu_parliament": {
            "chamadas": 8,
            "falhas": 4,
            "tempo_total": 5.78
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.1
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.58
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_21_0711",
      "data_hora": "2026-10-21T07:11:47-03:00",
      "fim": "2026-10-21T07:12:06-03:00",
      "ts": "2026-10-21T10:11:47+00:00",
      "ts_fim": "2026-10-21T10:12:06+00:00",
      "idade_horas": 105.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 19,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.21,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.7
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.63
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.62
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.29
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.0,
        "descoberta_procedimentos": 4.2,
        "fontes_multiorgao": 12.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 165
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T07:11:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T07:12:04-03:00",
          "ultima_execucao_ok": "2026-10-21T07:12:06-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T07:12:05-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-21T07:11:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 2,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 26,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T07:11:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-21T07:11:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-21T07:11:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T07:11:47-03:00",
          "ultima_execucao_ok": "2026-10-21T07:11:47-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-21T07:11:47-03:00",
          "ultima_execucao_ok": "2026-10-21T07:11:47-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.38,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.54
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.25
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.58
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.78
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.69
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.76
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_20_1707",
      "data_hora": "2026-10-20T17:07:09-03:00",
      "fim": "2026-10-20T17:07:33-03:00",
      "ts": "2026-10-20T20:07:09+00:00",
      "ts_fim": "2026-10-20T20:07:33+00:00",
      "idade_horas": 119.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 6.45,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.05
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.25
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.83
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.31
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 4.9,
        "fontes_multiorgao": 15.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 163
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T17:07:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T17:07:30-03:00",
          "ultima_execucao_ok": "2026-10-20T17:07:33-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T17:07:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T17:07:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 24,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T17:07:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T17:07:23-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T17:07:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T17:07:09-03:00",
          "ultima_execucao_ok": "2026-10-20T17:07:09-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T17:07:09-03:00",
          "ultima_execucao_ok": "2026-10-20T17:07:09-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.54,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.16
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.37
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.82
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.0
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.87
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.51
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_20_1049",
      "data_hora": "2026-10-20T10:49:37-03:00",
      "fim": "2026-10-20T10:50:02-03:00",
      "ts": "2026-10-20T13:49:37+00:00",
      "ts_fim": "2026-10-20T13:50:02+00:00",
      "idade_horas": 125.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 24,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.4,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.04
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.81
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.32
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.23
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 2.8,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 15.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 163
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T10:49:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T10:49:59-03:00",
          "ultima_execucao_ok": "2026-10-20T10:50:02-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T10:50:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T10:49:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 24,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T10:49:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T10:49:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T10:49:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T10:49:37-03:00",
          "ultima_execucao_ok": "2026-10-20T10:49:37-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T10:49:37-03:00",
          "ultima_execucao_ok": "2026-10-20T10:49:37-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.18,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.11
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.93
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.5
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.68
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.46
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.24
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.26
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_20_0705",
      "data_hora": "2026-10-20T07:05:55-03:00",
      "fim": "2026-10-20T07:06:36-03:00",
      "ts": "2026-10-20T10:05:55+00:00",
      "ts_fim": "2026-10-20T10:06:36+00:00",
      "idade_horas": 129.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 40,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 19,
      "cache_http": 0,
      "falhas_http": 2,
      "tempo_rede_s": 43.5,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.99
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 2,
          "tempo_total": 1.65
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 22.8,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 12.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 163
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T07:06:24-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T07:06:34-03:00",
          "ultima_execucao_ok": "2026-10-20T07:06:36-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T07:06:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T07:06:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 24,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T07:06:25-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-20T07:06:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T07:06:24-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-20T07:05:55-03:00",
          "ultima_execucao_ok": "2026-10-20T07:05:55-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-20T07:05:55-03:00",
          "ultima_execucao_ok": "2026-10-19T18:13:35-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 2,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.15,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.6
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.44
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.44
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.19
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.93
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.6
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.95
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_19_1813",
      "data_hora": "2026-10-19T18:13:35-03:00",
      "fim": "2026-10-19T18:14:19-03:00",
      "ts": "2026-10-19T21:13:35+00:00",
      "ts_fim": "2026-10-19T21:14:19+00:00",
      "idade_horas": 142.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 43,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 19.6,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.76
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 15.77
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.74
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.36
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.1,
        "descoberta_procedimentos": 19.5,
        "fontes_multiorgao": 21.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 163
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T18:13:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T18:14:17-03:00",
          "ultima_execucao_ok": "2026-10-19T18:14:19-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T18:14:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-19T18:14:05-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 24,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T18:14:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T18:14:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-19T18:13:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 5.1,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T18:13:35-03:00",
          "ultima_execucao_ok": "2026-10-19T18:13:35-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T18:13:35-03:00",
          "ultima_execucao_ok": "2026-10-19T18:13:35-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 16.57,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.34
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 5.06
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.84
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.75
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.61
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.19
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_19_1251",
      "data_hora": "2026-10-19T12:51:24-03:00",
      "fim": "2026-10-19T12:52:08-03:00",
      "ts": "2026-10-19T15:51:24+00:00",
      "ts_fim": "2026-10-19T15:52:08+00:00",
      "idade_horas": 147.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 44,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.69,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.32
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.41
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.31
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.0,
        "descoberta_procedimentos": 4.9,
        "fontes_multiorgao": 37.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 163
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T12:51:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T12:52:07-03:00",
          "ultima_execucao_ok": "2026-10-19T12:52:08-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T12:52:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-19T12:51:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 24,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T12:51:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T12:51:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 31.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-19T12:51:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T12:51:24-03:00",
          "ultima_execucao_ok": "2026-10-19T12:51:24-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T12:51:24-03:00",
          "ultima_execucao_ok": "2026-10-19T12:51:24-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 31.88,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.76
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.31
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.36
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.92
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 26.82
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.83
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.88
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_19_0747",
      "data_hora": "2026-10-19T07:47:49-03:00",
      "fim": "2026-10-19T07:48:10-03:00",
      "ts": "2026-10-19T10:47:49+00:00",
      "ts_fim": "2026-10-19T10:48:10+00:00",
      "idade_horas": 152.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.15,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.96
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.55
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.52
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.1
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.0,
        "descoberta_procedimentos": 4.0,
        "fontes_multiorgao": 14.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 163
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T07:47:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T07:48:08-03:00",
          "ultima_execucao_ok": "2026-10-19T07:48:10-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T07:48:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-19T07:47:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 2,
          "erros": 3,
          "duracao_segundos": 3.1,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 24,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T07:47:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.1,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-19T07:48:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-19T07:47:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T07:47:49-03:00",
          "ultima_execucao_ok": "2026-10-19T07:47:49-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-19T07:47:49-03:00",
          "ultima_execucao_ok": "2026-10-19T07:47:49-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.51,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.16
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.31
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.13
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.07
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.76
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.66
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.42
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_18_1553",
      "data_hora": "2026-10-18T15:53:10-03:00",
      "fim": "2026-10-18T15:53:49-03:00",
      "ts": "2026-10-18T18:53:10+00:00",
      "ts_fim": "2026-10-18T18:53:49+00:00",
      "idade_horas": 168.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 38,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 20.15,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 16.92
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.4
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.16
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.0,
        "descoberta_procedimentos": 20.4,
        "fontes_multiorgao": 15.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T15:53:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T15:53:47-03:00",
          "ultima_execucao_ok": "2026-10-18T15:53:49-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T15:53:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-18T15:53:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T15:53:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T15:53:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-18T15:53:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T15:53:10-03:00",
          "ultima_execucao_ok": "2026-10-18T15:53:10-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T15:53:10-03:00",
          "ultima_execucao_ok": "2026-10-18T15:53:10-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.67,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.87
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.33
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.56
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.62
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.86
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.59
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.84
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_18_0946",
      "data_hora": "2026-10-18T09:46:46-03:00",
      "fim": "2026-10-18T09:47:06-03:00",
      "ts": "2026-10-18T12:46:46+00:00",
      "ts_fim": "2026-10-18T12:47:06+00:00",
      "idade_horas": 174.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 19,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 3.63,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.78
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.02
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 0.9,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 12.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T09:46:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T09:47:04-03:00",
          "ultima_execucao_ok": "2026-10-18T09:47:06-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T09:47:05-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-18T09:46:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T09:46:54-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T09:46:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-18T09:46:54-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T09:46:46-03:00",
          "ultima_execucao_ok": "2026-10-18T09:46:46-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T09:46:46-03:00",
          "ultima_execucao_ok": "2026-10-18T09:46:46-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.47,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.8
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.46
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.51
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.17
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.94
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.76
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.83
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_18_0639",
      "data_hora": "2026-10-18T06:39:10-03:00",
      "fim": "2026-10-18T06:39:53-03:00",
      "ts": "2026-10-18T09:39:10+00:00",
      "ts_fim": "2026-10-18T09:39:53+00:00",
      "idade_horas": 177.6,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 42,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 22.11,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.0
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 16.15
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.71
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.22
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.6,
        "descoberta_procedimentos": 19.7,
        "fontes_multiorgao": 19.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T06:39:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T06:39:50-03:00",
          "ultima_execucao_ok": "2026-10-18T06:39:53-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T06:39:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-18T06:39:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T06:39:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-18T06:39:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-18T06:39:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 5.0,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T06:39:10-03:00",
          "ultima_execucao_ok": "2026-10-18T06:39:10-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-18T06:39:10-03:00",
          "ultima_execucao_ok": "2026-10-18T06:39:10-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 14.64,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.34
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 5.0
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.4
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.29
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.4
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.39
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.82
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_17_1548",
      "data_hora": "2026-10-17T15:48:10-03:00",
      "fim": "2026-10-17T15:48:32-03:00",
      "ts": "2026-10-17T18:48:10+00:00",
      "ts_fim": "2026-10-17T18:48:32+00:00",
      "idade_horas": 192.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.22,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.78
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.0
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.22
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.22
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 2.2,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 13.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T15:48:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T15:48:29-03:00",
          "ultima_execucao_ok": "2026-10-17T15:48:32-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T15:48:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T15:48:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T15:48:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T15:48:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T15:48:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 5,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; atos do Jornal Oficial — série L (RSS oficial): RSS sem itens reconhecíveis: https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T15:48:10-03:00",
          "ultima_execucao_ok": "2026-10-17T15:48:10-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T15:48:10-03:00",
          "ultima_execucao_ok": "2026-10-17T15:48:10-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament",
        "eurlex"
      ],
      "fontes_parciais": [
        "eu_commission"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.85,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.22
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.49
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.67
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.96
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.43
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.93
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.15
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_17_1255",
      "data_hora": "2026-10-17T12:55:07-03:00",
      "fim": "2026-10-17T12:55:29-03:00",
      "ts": "2026-10-17T15:55:07+00:00",
      "ts_fim": "2026-10-17T15:55:29+00:00",
      "idade_horas": 195.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.82,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.07
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.71
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.85
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.19
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 1.1,
        "descoberta_procedimentos": 4.2,
        "fontes_multiorgao": 14.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T12:55:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T12:55:27-03:00",
          "ultima_execucao_ok": "2026-10-17T12:55:29-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T12:55:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T12:55:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T12:55:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T12:55:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T12:55:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T12:55:07-03:00",
          "ultima_execucao_ok": "2026-10-17T12:55:07-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T12:55:07-03:00",
          "ultima_execucao_ok": "2026-10-17T12:55:07-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.68,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.13
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.38
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.49
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.43
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.81
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.04
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.4
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_17_0923",
      "data_hora": "2026-10-17T09:23:05-03:00",
      "fim": "2026-10-17T09:23:28-03:00",
      "ts": "2026-10-17T12:23:05+00:00",
      "ts_fim": "2026-10-17T12:23:28+00:00",
      "idade_horas": 198.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.95,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.93
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.07
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.64
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.31
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 4.7,
        "fontes_multiorgao": 15.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T09:23:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.9,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T09:23:26-03:00",
          "ultima_execucao_ok": "2026-10-17T09:23:28-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T09:23:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T09:23:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T09:23:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T09:23:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T09:23:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T09:23:05-03:00",
          "ultima_execucao_ok": "2026-10-17T09:23:05-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T09:23:05-03:00",
          "ultima_execucao_ok": "2026-10-17T09:23:05-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.49,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.9
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.96
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.76
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.19
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.41
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.09
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.18
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_17_0623",
      "data_hora": "2026-10-17T06:23:31-03:00",
      "fim": "2026-10-17T06:23:52-03:00",
      "ts": "2026-10-17T09:23:31+00:00",
      "ts_fim": "2026-10-17T09:23:52+00:00",
      "idade_horas": 201.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.67,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.84
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.16
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.03
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.64
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.1,
        "descoberta_procedimentos": 5.1,
        "fontes_multiorgao": 13.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T06:23:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T06:23:50-03:00",
          "ultima_execucao_ok": "2026-10-17T06:23:52-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T06:23:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T06:23:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T06:23:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-17T06:23:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-17T06:23:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T06:23:31-03:00",
          "ultima_execucao_ok": "2026-10-17T06:23:31-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-17T06:23:31-03:00",
          "ultima_execucao_ok": "2026-10-17T06:23:31-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.83,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.08
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.76
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.63
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.81
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.41
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.36
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_16_1641",
      "data_hora": "2026-10-16T16:41:31-03:00",
      "fim": "2026-10-16T16:42:19-03:00",
      "ts": "2026-10-16T19:41:31+00:00",
      "ts_fim": "2026-10-16T19:42:19+00:00",
      "idade_horas": 215.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 47,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 59.01,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 18.11
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 39.95
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.29
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 10.5,
        "descoberta_procedimentos": 21.8,
        "fontes_multiorgao": 14.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T16:42:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T16:42:17-03:00",
          "ultima_execucao_ok": "2026-10-16T16:42:19-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T16:42:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-16T16:42:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T16:42:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T16:42:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-16T16:42:05-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T16:41:31-03:00",
          "ultima_execucao_ok": "2026-10-16T16:41:31-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T16:41:31-03:00",
          "ultima_execucao_ok": "2026-10-16T16:41:31-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.2,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.69
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.51
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.42
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.68
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.94
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.96
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.0
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_16_1030",
      "data_hora": "2026-10-16T10:30:30-03:00",
      "fim": "2026-10-16T10:30:58-03:00",
      "ts": "2026-10-16T13:30:30+00:00",
      "ts_fim": "2026-10-16T13:30:58+00:00",
      "idade_horas": 221.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 27,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 8.79,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.03
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.73
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 7.02
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.05
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 3.1,
        "descoberta_procedimentos": 4.1,
        "fontes_multiorgao": 18.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T10:30:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T10:30:56-03:00",
          "ultima_execucao_ok": "2026-10-16T10:30:58-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T10:30:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-16T10:30:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 7.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T10:30:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T10:30:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-16T10:30:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T10:30:30-03:00",
          "ultima_execucao_ok": "2026-10-16T10:30:30-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T10:30:30-03:00",
          "ultima_execucao_ok": "2026-10-16T10:30:30-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 13.76,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.09
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.28
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.2
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 7.47
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.68
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.72
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.32
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_16_0652",
      "data_hora": "2026-10-16T06:52:23-03:00",
      "fim": "2026-10-16T06:52:58-03:00",
      "ts": "2026-10-16T09:52:23+00:00",
      "ts_fim": "2026-10-16T09:52:58+00:00",
      "idade_horas": 225.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 34,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 12.89,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 2.73
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 5.52
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.02
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.6
        }
      },
      "fases_segundos": {
        "agenda_consultas": 3.3,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 9.4,
        "fontes_multiorgao": 20.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 161
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T06:52:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T06:52:52-03:00",
          "ultima_execucao_ok": "2026-10-16T06:52:58-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 0,
          "duracao_segundos": 4.6,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T06:52:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-16T06:52:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T06:52:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-16T06:52:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-16T06:52:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T06:52:23-03:00",
          "ultima_execucao_ok": "2026-10-16T06:52:23-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-16T06:52:23-03:00",
          "ultima_execucao_ok": "2026-10-16T06:52:23-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 15.08,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 2.42
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.83
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.65
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.8
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.4
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 4.58
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.4
          }
        }
      },
      "mudancas_multiorgao": 5
    },
    {
      "id": "run_2026_10_15_1701",
      "data_hora": "2026-10-15T17:01:20-03:00",
      "fim": "2026-10-15T17:01:47-03:00",
      "ts": "2026-10-15T20:01:20+00:00",
      "ts_fim": "2026-10-15T20:01:47+00:00",
      "idade_horas": 239.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 27,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 10.57,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 2.44
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.92
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 2.4,
        "descoberta_procedimentos": 5.9,
        "fontes_multiorgao": 17.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 156
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T17:01:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 2.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T17:01:45-03:00",
          "ultima_execucao_ok": "2026-10-15T17:01:47-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T17:01:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-15T17:01:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 2.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 22,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T17:01:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T17:01:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-15T17:01:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T17:01:20-03:00",
          "ultima_execucao_ok": "2026-10-15T17:01:20-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T17:01:20-03:00",
          "ultima_execucao_ok": "2026-10-15T17:01:20-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 12.26,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 2.06
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.43
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.38
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.7
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.37
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.72
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.6
          }
        }
      },
      "mudancas_multiorgao": 1
    },
    {
      "id": "run_2026_10_15_1039",
      "data_hora": "2026-10-15T10:39:47-03:00",
      "fim": "2026-10-15T10:40:05-03:00",
      "ts": "2026-10-15T13:39:47+00:00",
      "ts_fim": "2026-10-15T13:40:05+00:00",
      "idade_horas": 245.6,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 18,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 3.26,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.73
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 1.7
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.15
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 0.8,
        "descoberta_procedimentos": 4.2,
        "fontes_multiorgao": 11.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 155
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T10:39:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T10:40:03-03:00",
          "ultima_execucao_ok": "2026-10-15T10:40:05-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T10:40:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-15T10:39:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T10:39:54-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T10:39:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-15T10:39:54-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T10:39:47-03:00",
          "ultima_execucao_ok": "2026-10-15T10:39:47-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T10:39:47-03:00",
          "ultima_execucao_ok": "2026-10-15T10:39:47-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 6.9,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.63
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.3
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.53
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.82
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.95
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.66
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.01
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_15_0657",
      "data_hora": "2026-10-15T06:57:07-03:00",
      "fim": "2026-10-15T06:57:26-03:00",
      "ts": "2026-10-15T09:57:07+00:00",
      "ts_fim": "2026-10-15T09:57:26+00:00",
      "idade_horas": 249.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 19,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.48,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.96
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.62
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.24
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 11.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 153
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T06:57:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T06:57:25-03:00",
          "ultima_execucao_ok": "2026-10-15T06:57:26-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T06:57:25-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-15T06:57:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T06:57:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-15T06:57:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-15T06:57:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T06:57:07-03:00",
          "ultima_execucao_ok": "2026-10-15T06:57:07-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-15T06:57:07-03:00",
          "ultima_execucao_ok": "2026-10-15T06:57:07-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 6.79,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.59
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.47
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.48
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.68
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.86
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.76
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.95
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_14_1719",
      "data_hora": "2026-10-14T17:19:10-03:00",
      "fim": "2026-10-14T17:19:31-03:00",
      "ts": "2026-10-14T20:19:10+00:00",
      "ts_fim": "2026-10-14T20:19:31+00:00",
      "idade_horas": 262.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.88,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.95
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.71
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.16
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.05
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 4.1,
        "fontes_multiorgao": 14.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 153
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T17:19:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T17:19:29-03:00",
          "ultima_execucao_ok": "2026-10-14T17:19:31-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T17:19:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-14T17:19:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T17:19:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T17:19:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-14T17:19:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T17:19:10-03:00",
          "ultima_execucao_ok": "2026-10-14T17:19:10-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T17:19:10-03:00",
          "ultima_execucao_ok": "2026-10-14T17:19:10-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.31,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.27
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.26
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.35
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.95
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.52
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.7
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.26
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_14_1100",
      "data_hora": "2026-10-14T11:00:10-03:00",
      "fim": "2026-10-14T11:00:51-03:00",
      "ts": "2026-10-14T14:00:10+00:00",
      "ts_fim": "2026-10-14T14:00:51+00:00",
      "idade_horas": 269.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 40,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 28.44,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.61
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.93
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 26.74
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.16
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.2,
        "atualizacao_procedimentos": 10.3,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 24.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 153
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T11:00:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 3.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T11:00:49-03:00",
          "ultima_execucao_ok": "2026-10-14T11:00:51-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T11:00:50-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-14T11:00:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 11.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T11:00:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T11:00:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-14T11:00:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T11:00:10-03:00",
          "ultima_execucao_ok": "2026-10-14T11:00:10-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T11:00:10-03:00",
          "ultima_execucao_ok": "2026-10-14T11:00:10-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 19.71,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 3.52
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.25
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.56
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 11.47
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.96
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.99
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.96
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_14_0715",
      "data_hora": "2026-10-14T07:15:12-03:00",
      "fim": "2026-10-14T07:15:44-03:00",
      "ts": "2026-10-14T10:15:12+00:00",
      "ts_fim": "2026-10-14T10:15:44+00:00",
      "idade_horas": 273.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 32,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 20.88,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 5.66
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 13.83
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.36
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 4.6,
        "descoberta_procedimentos": 9.3,
        "fontes_multiorgao": 16.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 153
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T07:15:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T07:15:41-03:00",
          "ultima_execucao_ok": "2026-10-14T07:15:44-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T07:15:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-14T07:15:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 2,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T07:15:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-14T07:15:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-14T07:15:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T07:15:12-03:00",
          "ultima_execucao_ok": "2026-10-14T07:15:12-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-14T07:15:12-03:00",
          "ultima_execucao_ok": "2026-10-14T07:15:12-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 11.42,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.16
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.42
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.69
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.48
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.83
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.31
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.53
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_13_1831",
      "data_hora": "2026-10-13T18:31:20-03:00",
      "fim": "2026-10-13T18:31:50-03:00",
      "ts": "2026-10-13T21:31:20+00:00",
      "ts_fim": "2026-10-13T21:31:50+00:00",
      "idade_horas": 285.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 30,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 28.22,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.71
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.73
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 26.51
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.28
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 7.9,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 17.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 151
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T18:31:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T18:31:48-03:00",
          "ultima_execucao_ok": "2026-10-13T18:31:50-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T18:31:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-13T18:31:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 18,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T18:31:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T18:31:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 10.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-13T18:31:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T18:31:20-03:00",
          "ultima_execucao_ok": "2026-10-13T18:31:20-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T18:31:20-03:00",
          "ultima_execucao_ok": "2026-10-13T18:31:20-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 12.24,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.56
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.25
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.74
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.61
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 6.1
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.99
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.99
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_13_1324",
      "data_hora": "2026-10-13T13:24:37-03:00",
      "fim": "2026-10-13T13:25:11-03:00",
      "ts": "2026-10-13T16:24:37+00:00",
      "ts_fim": "2026-10-13T16:25:11+00:00",
      "idade_horas": 290.8,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 33,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 9.47,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 3.48
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.1
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.79
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.11
        }
      },
      "fases_segundos": {
        "agenda_consultas": 4.1,
        "atualizacao_procedimentos": 1.6,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 23.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 151
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T13:24:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T13:25:08-03:00",
          "ultima_execucao_ok": "2026-10-13T13:25:11-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 21,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T13:25:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-13T13:24:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 9.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 18,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T13:24:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T13:25:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-13T13:24:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T13:24:37-03:00",
          "ultima_execucao_ok": "2026-10-13T13:24:37-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T13:24:37-03:00",
          "ultima_execucao_ok": "2026-10-13T13:24:37-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 18.08,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.36
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.28
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 1.13
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 9.72
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.12
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.94
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.53
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_13_0943",
      "data_hora": "2026-10-13T09:43:36-03:00",
      "fim": "2026-10-13T09:43:57-03:00",
      "ts": "2026-10-13T12:43:36+00:00",
      "ts_fim": "2026-10-13T12:43:57+00:00",
      "idade_horas": 294.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 20,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.13,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.78
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.64
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.6
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.13
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 4.1,
        "fontes_multiorgao": 13.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 149
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T09:43:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T09:43:55-03:00",
          "ultima_execucao_ok": "2026-10-13T09:43:57-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T09:43:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-13T09:43:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 17,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T09:43:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-13T09:43:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-13T09:43:44-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T09:43:36-03:00",
          "ultima_execucao_ok": "2026-10-13T09:43:36-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-13T09:43:36-03:00",
          "ultima_execucao_ok": "2026-10-13T09:43:36-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.44,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.96
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.63
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.65
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.99
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.33
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.84
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.04
          }
        }
      },
      "mudancas_multiorgao": 1
    },
    {
      "id": "run_2026_10_12_1511",
      "data_hora": "2026-10-12T15:11:05-03:00",
      "fim": "2026-10-12T15:11:28-03:00",
      "ts": "2026-10-12T18:11:05+00:00",
      "ts_fim": "2026-10-12T18:11:28+00:00",
      "idade_horas": 313.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 22,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 6.73,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.52
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.85
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.35
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 1.0
        }
      },
      "fases_segundos": {
        "agenda_consultas": 2.1,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 5.2,
        "fontes_multiorgao": 14.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 148
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T15:11:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-12T15:11:25-03:00",
          "ultima_execucao_ok": "2026-10-12T15:11:28-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T15:11:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-12T15:11:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 17,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T15:11:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T15:11:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-12T15:11:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-12T15:11:05-03:00",
          "ultima_execucao_ok": "2026-10-12T15:11:05-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-12T15:11:05-03:00",
          "ultima_execucao_ok": "2026-10-12T15:11:05-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.15,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.94
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.32
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.39
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.22
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.95
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.52
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_12_1011",
      "data_hora": "2026-10-12T10:11:33-03:00",
      "fim": "2026-10-12T10:12:08-03:00",
      "ts": "2026-10-12T13:11:33+00:00",
      "ts_fim": "2026-10-12T13:12:08+00:00",
      "idade_horas": 318.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 34,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 31.43,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.62
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 29.66
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.12
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 12.7,
        "descoberta_procedimentos": 4.1,
        "fontes_multiorgao": 16.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 148
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T10:11:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-12T10:12:05-03:00",
          "ultima_execucao_ok": "2026-10-12T10:12:08-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 20,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T10:12:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-12T10:11:54-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 2,
          "erros": 3,
          "duracao_segundos": 3.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 17,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T10:11:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-12T10:11:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-12T10:11:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-12T10:11:33-03:00",
          "ultima_execucao_ok": "2026-10-12T10:11:33-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-12T10:11:33-03:00",
          "ultima_execucao_ok": "2026-10-12T10:11:33-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 11.05,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.3
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.37
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.71
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.45
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.71
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.73
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_10_11_1732",
      "data_hora": "2026-10-11T17:32:48-03:00",
      "fim": "2026-10-11T17:33:24-03:00",
      "ts": "2026-10-11T20:32:48+00:00",
      "ts_fim": "2026-10-11T20:33:24+00:00",
      "idade_horas": 334.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 36,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 36.72,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.94
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.74
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 34.9
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.15
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 12.4,
        "descoberta_procedimentos": 4.2,
        "fontes_multiorgao": 17.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T17:33:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T17:33:22-03:00",
          "ultima_execucao_ok": "2026-10-11T17:33:24-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T17:33:23-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-11T17:33:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T17:33:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T17:33:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 10.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T17:33:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 5,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; atos do Jornal Oficial — série L (RSS oficial): RSS indisponível: https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222 (HTTP 403); AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T17:32:48-03:00",
          "ultima_execucao_ok": "2026-10-11T17:32:48-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T17:32:48-03:00",
          "ultima_execucao_ok": "2026-10-11T17:32:48-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament",
        "eurlex"
      ],
      "fontes_parciais": [
        "eu_commission"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 7,
        "cache": 0,
        "tempo_total": 12.62,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.37
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 1,
            "tempo_total": 0.25
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.35
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.47
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 6.14
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.69
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.35
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_11_1203",
      "data_hora": "2026-10-11T12:03:27-03:00",
      "fim": "2026-10-11T12:04:03-03:00",
      "ts": "2026-10-11T15:03:27+00:00",
      "ts_fim": "2026-10-11T15:04:03+00:00",
      "idade_horas": 340.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 35,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 16.12,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.84
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.18
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 13.88
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.23
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 9.0,
        "descoberta_procedimentos": 4.7,
        "fontes_multiorgao": 20.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T12:03:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T12:04:01-03:00",
          "ultima_execucao_ok": "2026-10-11T12:04:03-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T12:04:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-11T12:03:50-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.1,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T12:03:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T12:03:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.7,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-11T12:03:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 5.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T12:03:27-03:00",
          "ultima_execucao_ok": "2026-10-11T12:03:27-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T12:03:27-03:00",
          "ultima_execucao_ok": "2026-10-11T12:03:27-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 15.63,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.13
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 5.41
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.64
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.12
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.16
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.01
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.16
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_11_0825",
      "data_hora": "2026-10-11T08:25:19-03:00",
      "fim": "2026-10-11T08:26:01-03:00",
      "ts": "2026-10-11T11:25:19+00:00",
      "ts_fim": "2026-10-11T11:26:01+00:00",
      "idade_horas": 343.8,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 42,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 23.39,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.98
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 16.06
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.04
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.31
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 2.7,
        "descoberta_procedimentos": 19.7,
        "fontes_multiorgao": 18.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T08:25:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T08:25:59-03:00",
          "ultima_execucao_ok": "2026-10-11T08:26:01-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T08:26:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-11T08:25:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T08:25:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-11T08:25:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-11T08:25:44-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T08:25:19-03:00",
          "ultima_execucao_ok": "2026-10-11T08:25:19-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-11T08:25:19-03:00",
          "ultima_execucao_ok": "2026-10-11T08:25:19-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 13.28,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.29
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.38
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.74
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.19
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.69
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.9
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.09
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_10_1718",
      "data_hora": "2026-10-10T17:18:25-03:00",
      "fim": "2026-10-10T17:19:13-03:00",
      "ts": "2026-10-10T20:18:25+00:00",
      "ts_fim": "2026-10-10T20:19:13+00:00",
      "idade_horas": 358.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 47,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 26.15,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.85
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 14.51
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 10.38
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.4
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 4.7,
        "descoberta_procedimentos": 18.3,
        "fontes_multiorgao": 23.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T17:18:50-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T17:19:11-03:00",
          "ultima_execucao_ok": "2026-10-10T17:19:13-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T17:19:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-10T17:18:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T17:18:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T17:18:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 12.7,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-10T17:18:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.2,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T17:18:25-03:00",
          "ultima_execucao_ok": "2026-10-10T17:18:25-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T17:18:25-03:00",
          "ultima_execucao_ok": "2026-10-10T17:18:25-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 18.1,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.16
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.17
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.68
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.84
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 8.15
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.7
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.4
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_10_1141",
      "data_hora": "2026-10-10T11:41:44-03:00",
      "fim": "2026-10-10T11:42:43-03:00",
      "ts": "2026-10-10T14:41:44+00:00",
      "ts_fim": "2026-10-10T14:42:43+00:00",
      "idade_horas": 364.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 59,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 43.03,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.93
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 19.77
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 22.26
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.07
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 15.0,
        "descoberta_procedimentos": 23.2,
        "fontes_multiorgao": 19.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T11:42:23-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T11:42:41-03:00",
          "ultima_execucao_ok": "2026-10-10T11:42:43-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T11:42:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-10T11:42:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T11:42:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T11:42:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-10T11:42:25-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.9,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T11:41:44-03:00",
          "ultima_execucao_ok": "2026-10-10T11:41:44-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T11:41:44-03:00",
          "ultima_execucao_ok": "2026-10-10T11:41:44-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 14.68,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.68
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.94
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.72
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.2
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.13
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.72
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.29
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_10_0811",
      "data_hora": "2026-10-10T08:11:46-03:00",
      "fim": "2026-10-10T08:12:22-03:00",
      "ts": "2026-10-10T11:11:46+00:00",
      "ts_fim": "2026-10-10T11:12:22+00:00",
      "idade_horas": 368.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 36,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 19.5,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.03
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 14.7
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.59
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.19
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 18.2,
        "fontes_multiorgao": 15.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T08:12:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T08:12:21-03:00",
          "ultima_execucao_ok": "2026-10-10T08:12:22-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T08:12:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-10T08:12:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T08:12:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-10T08:12:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-10T08:12:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.7,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T08:11:46-03:00",
          "ultima_execucao_ok": "2026-10-10T08:11:46-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-10T08:11:46-03:00",
          "ultima_execucao_ok": "2026-10-10T08:11:46-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.34,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.74
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.74
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.58
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.66
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.05
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.57
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.0
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_09_1813",
      "data_hora": "2026-10-09T18:13:54-03:00",
      "fim": "2026-10-09T18:14:34-03:00",
      "ts": "2026-10-09T21:13:54+00:00",
      "ts_fim": "2026-10-09T21:14:34+00:00",
      "idade_horas": 382.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 40,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 20.01,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.82
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 15.48
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.5
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.21
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 19.0,
        "fontes_multiorgao": 18.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T18:14:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T18:14:32-03:00",
          "ultima_execucao_ok": "2026-10-09T18:14:34-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T18:14:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-09T18:14:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T18:14:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T18:14:25-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-09T18:14:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T18:13:54-03:00",
          "ultima_execucao_ok": "2026-10-09T18:13:54-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T18:13:54-03:00",
          "ultima_execucao_ok": "2026-10-09T18:13:54-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 13.2,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.03
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.39
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.68
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.29
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.57
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.05
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.19
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_09_1232",
      "data_hora": "2026-10-09T12:32:47-03:00",
      "fim": "2026-10-09T12:33:42-03:00",
      "ts": "2026-10-09T15:32:47+00:00",
      "ts_fim": "2026-10-09T15:33:42+00:00",
      "idade_horas": 387.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 55,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 40.5,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.96
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 18.06
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 21.34
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.12
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 12.5,
        "descoberta_procedimentos": 21.5,
        "fontes_multiorgao": 19.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T12:33:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T12:33:40-03:00",
          "ultima_execucao_ok": "2026-10-09T12:33:42-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T12:33:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-09T12:33:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T12:33:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T12:33:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-09T12:33:24-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 5.7,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T12:32:47-03:00",
          "ultima_execucao_ok": "2026-10-09T12:32:47-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T12:32:47-03:00",
          "ultima_execucao_ok": "2026-10-09T12:32:47-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 14.52,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.41
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 5.72
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.58
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.23
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.7
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.74
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.14
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_09_0855",
      "data_hora": "2026-10-09T08:55:04-03:00",
      "fim": "2026-10-09T08:55:32-03:00",
      "ts": "2026-10-09T11:55:04+00:00",
      "ts_fim": "2026-10-09T11:55:32+00:00",
      "idade_horas": 391.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 28,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 14.31,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.25
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.91
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 10.83
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.33
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.9,
        "atualizacao_procedimentos": 3.7,
        "descoberta_procedimentos": 5.5,
        "fontes_multiorgao": 17.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 145
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T08:55:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T08:55:29-03:00",
          "ultima_execucao_ok": "2026-10-09T08:55:32-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 4,
          "erros": 0,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 19,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T08:55:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-09T08:55:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 3.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T08:55:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-09T08:55:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-09T08:55:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T08:55:04-03:00",
          "ultima_execucao_ok": "2026-10-09T08:55:04-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-09T08:55:04-03:00",
          "ultima_execucao_ok": "2026-10-09T08:55:04-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 12.27,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.46
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.85
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.75
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.5
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.81
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.34
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.56
          }
        }
      },
      "mudancas_multiorgao": 6
    },
    {
      "id": "run_2026_10_08_1828",
      "data_hora": "2026-10-08T18:28:41-03:00",
      "fim": "2026-10-08T18:29:22-03:00",
      "ts": "2026-10-08T21:28:41+00:00",
      "ts_fim": "2026-10-08T21:29:22+00:00",
      "idade_horas": 405.8,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 40,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 19.84,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.04
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 14.42
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.23
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.14
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 2.1,
        "descoberta_procedimentos": 17.9,
        "fontes_multiorgao": 19.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 139
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T18:29:03-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T18:29:20-03:00",
          "ultima_execucao_ok": "2026-10-08T18:29:22-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T18:29:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-08T18:29:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T18:29:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T18:29:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-08T18:29:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.2,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T18:28:41-03:00",
          "ultima_execucao_ok": "2026-10-08T18:28:41-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T18:28:41-03:00",
          "ultima_execucao_ok": "2026-10-08T18:28:41-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 13.91,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.95
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.24
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.18
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.44
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.07
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.67
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.36
          }
        }
      },
      "mudancas_multiorgao": 0
    },
    {
      "id": "run_2026_10_08_1250",
      "data_hora": "2026-10-08T12:50:26-03:00",
      "fim": "2026-10-08T12:51:08-03:00",
      "ts": "2026-10-08T15:50:26+00:00",
      "ts_fim": "2026-10-08T15:51:08+00:00",
      "idade_horas": 411.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 42,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 25.28,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 14.5
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 9.76
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.37
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 6.0,
        "descoberta_procedimentos": 18.2,
        "fontes_multiorgao": 16.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 139
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T12:50:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T12:51:06-03:00",
          "ultima_execucao_ok": "2026-10-08T12:51:08-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 3,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 15,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T12:51:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-08T12:50:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T12:50:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T12:50:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-08T12:50:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.0,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T12:50:26-03:00",
          "ultima_execucao_ok": "2026-10-08T12:50:26-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T12:50:26-03:00",
          "ultima_execucao_ok": "2026-10-08T12:50:26-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 11.73,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.99
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.43
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.28
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.26
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.94
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.02
          }
        }
      },
      "mudancas_multiorgao": 4
    },
    {
      "id": "run_2026_10_08_0903",
      "data_hora": "2026-10-08T09:03:19-03:00",
      "fim": "2026-10-08T09:03:48-03:00",
      "ts": "2026-10-08T12:03:19+00:00",
      "ts_fim": "2026-10-08T12:03:48+00:00",
      "idade_horas": 415.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 29,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 19.99,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.05
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 2.74
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 15.83
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.37
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 5.1,
        "descoberta_procedimentos": 6.4,
        "fontes_multiorgao": 16.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 135
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T09:03:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T09:03:45-03:00",
          "ultima_execucao_ok": "2026-10-08T09:03:48-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T09:03:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-08T09:03:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T09:03:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-08T09:03:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-08T09:03:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T09:03:19-03:00",
          "ultima_execucao_ok": "2026-10-08T09:03:19-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-08T09:03:19-03:00",
          "ultima_execucao_ok": "2026-10-08T09:03:19-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 11.1,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.3
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.65
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.96
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.39
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.86
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.45
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.49
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_07_1832",
      "data_hora": "2026-10-07T18:32:26-03:00",
      "fim": "2026-10-07T18:33:17-03:00",
      "ts": "2026-10-07T21:32:26+00:00",
      "ts_fim": "2026-10-07T21:33:17+00:00",
      "idade_horas": 429.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 50,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 18,
      "cache_http": 0,
      "falhas_http": 1,
      "tempo_rede_s": 42.12,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.03
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 15.68
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 1,
          "tempo_total": 19.2
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.14
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 10.8,
        "descoberta_procedimentos": 19.2,
        "fontes_multiorgao": 18.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 133
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T18:32:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T18:33:15-03:00",
          "ultima_execucao_ok": "2026-10-07T18:33:17-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T18:33:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T18:33:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T18:33:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T18:33:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T18:32:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.1,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T18:32:26-03:00",
          "ultima_execucao_ok": "2026-10-07T18:32:26-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T18:32:26-03:00",
          "ultima_execucao_ok": "2026-10-07T12:45:15-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 1,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 13.96,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.2
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.13
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.7
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.5
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.32
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.88
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.23
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_07_1245",
      "data_hora": "2026-10-07T12:45:15-03:00",
      "fim": "2026-10-07T12:45:45-03:00",
      "ts": "2026-10-07T15:45:15+00:00",
      "ts_fim": "2026-10-07T15:45:45+00:00",
      "idade_horas": 435.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 29,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 14.55,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.95
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 2.43
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 10.81
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.33
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 4.9,
        "descoberta_procedimentos": 6.1,
        "fontes_multiorgao": 17.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 131
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T12:45:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T12:45:42-03:00",
          "ultima_execucao_ok": "2026-10-07T12:45:45-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T12:45:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T12:45:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T12:45:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T12:45:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 9.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T12:45:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T12:45:15-03:00",
          "ultima_execucao_ok": "2026-10-07T12:45:15-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T12:45:15-03:00",
          "ultima_execucao_ok": "2026-10-07T12:45:15-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 12.0,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.04
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.84
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.18
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.8
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 5.1
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.73
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.31
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_07_0848",
      "data_hora": "2026-10-07T08:48:22-03:00",
      "fim": "2026-10-07T08:48:46-03:00",
      "ts": "2026-10-07T11:48:22+00:00",
      "ts_fim": "2026-10-07T11:48:46+00:00",
      "idade_horas": 439.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.9,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.56
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.2
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.13
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.8,
        "descoberta_procedimentos": 5.0,
        "fontes_multiorgao": 15.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 129
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T08:48:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T08:48:43-03:00",
          "ultima_execucao_ok": "2026-10-07T08:48:46-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T08:48:44-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T08:48:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T08:48:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-07T08:48:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-07T08:48:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T08:48:22-03:00",
          "ultima_execucao_ok": "2026-10-07T08:48:22-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-07T08:48:22-03:00",
          "ultima_execucao_ok": "2026-10-07T08:48:22-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.13,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.9
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.48
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.38
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.76
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.88
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.15
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.58
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_06_1812",
      "data_hora": "2026-10-06T18:12:28-03:00",
      "fim": "2026-10-06T18:13:22-03:00",
      "ts": "2026-10-06T21:12:28+00:00",
      "ts_fim": "2026-10-06T21:13:22+00:00",
      "idade_horas": 454.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 53,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 47.87,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.91
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 19.43
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 27.04
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.5
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 9.0,
        "descoberta_procedimentos": 23.3,
        "fontes_multiorgao": 20.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 127
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T18:13:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T18:13:20-03:00",
          "ultima_execucao_ok": "2026-10-06T18:13:22-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T18:13:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-06T18:13:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T18:13:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T18:13:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-06T18:13:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 5.7,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T18:12:28-03:00",
          "ultima_execucao_ok": "2026-10-06T18:12:28-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T18:12:28-03:00",
          "ultima_execucao_ok": "2026-10-06T18:12:28-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 15.02,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.24
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 5.68
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.51
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.43
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.88
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.05
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.23
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_06_1225",
      "data_hora": "2026-10-06T12:25:33-03:00",
      "fim": "2026-10-06T12:26:58-03:00",
      "ts": "2026-10-06T15:25:33+00:00",
      "ts_fim": "2026-10-06T15:26:58+00:00",
      "idade_horas": 459.8,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 84,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 13.72,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.98
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 2.33
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 10.29
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.13
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 3.0,
        "descoberta_procedimentos": 5.8,
        "fontes_multiorgao": 74.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 125
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T12:25:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T12:26:54-03:00",
          "ultima_execucao_ok": "2026-10-06T12:26:58-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T12:26:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-06T12:26:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 3.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 14,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T12:26:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T12:26:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 9.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T12:25:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 5,
          "duracao_segundos": 55.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; atos do Jornal Oficial — série L (RSS oficial): RSS indisponível: https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222 (TimeoutError: The read operation timed out); AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T12:25:33-03:00",
          "ultima_execucao_ok": "2026-10-06T12:25:33-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T12:25:33-03:00",
          "ultima_execucao_ok": "2026-10-06T12:25:33-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament",
        "eurlex"
      ],
      "fontes_parciais": [
        "eu_commission"
      ],
      "http_fontes": {
        "chamadas": 29,
        "falhas": 9,
        "cache": 0,
        "tempo_total": 64.77,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.23
          },
          "eurlex": {
            "chamadas": 6,
            "falhas": 3,
            "tempo_total": 50.93
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.59
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.78
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.92
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.13
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 2.19
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_10_06_0902",
      "data_hora": "2026-10-06T09:02:44-03:00",
      "fim": "2026-10-06T09:03:10-03:00",
      "ts": "2026-10-06T12:02:44+00:00",
      "ts_fim": "2026-10-06T12:03:10+00:00",
      "idade_horas": 463.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 25,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 16.82,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.8
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.79
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 14.92
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.32
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 6.1,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 13.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 122
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T09:02:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T09:03:07-03:00",
          "ultima_execucao_ok": "2026-10-06T09:03:10-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T09:03:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-06T09:02:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T09:02:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-06T09:03:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-06T09:02:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T09:02:44-03:00",
          "ultima_execucao_ok": "2026-10-06T09:02:44-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-06T09:02:44-03:00",
          "ultima_execucao_ok": "2026-10-06T09:02:44-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.13,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.02
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.48
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.57
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.73
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.35
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.93
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.05
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_05_1423",
      "data_hora": "2026-10-05T14:23:01-03:00",
      "fim": "2026-10-05T14:23:42-03:00",
      "ts": "2026-10-05T17:23:01+00:00",
      "ts_fim": "2026-10-05T17:23:42+00:00",
      "idade_horas": 481.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 40,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 24.13,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.61
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 14.14
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 9.09
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.28
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.2,
        "atualizacao_procedimentos": 5.3,
        "descoberta_procedimentos": 17.8,
        "fontes_multiorgao": 16.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 120
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T14:23:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-05T14:23:40-03:00",
          "ultima_execucao_ok": "2026-10-05T14:23:42-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 2,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 12,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T14:23:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-05T14:23:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T14:23:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T14:23:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-05T14:23:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.1,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-05T14:23:01-03:00",
          "ultima_execucao_ok": "2026-10-05T14:23:01-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-05T14:23:01-03:00",
          "ultima_execucao_ok": "2026-10-05T14:23:01-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 11.49,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.01
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.09
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.56
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.73
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.34
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.82
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.94
          }
        }
      },
      "mudancas_multiorgao": 5
    },
    {
      "id": "run_2026_10_05_0918",
      "data_hora": "2026-10-05T09:18:05-03:00",
      "fim": "2026-10-05T09:18:29-03:00",
      "ts": "2026-10-05T12:18:05+00:00",
      "ts_fim": "2026-10-05T12:18:29+00:00",
      "idade_horas": 486.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 24,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 8.46,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.68
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.18
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.4
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.19
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 4.4,
        "descoberta_procedimentos": 4.7,
        "fontes_multiorgao": 13.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 115
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T09:18:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-05T09:18:28-03:00",
          "ultima_execucao_ok": "2026-10-05T09:18:29-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T09:18:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-05T09:18:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T09:18:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-05T09:18:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-05T09:18:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-05T09:18:05-03:00",
          "ultima_execucao_ok": "2026-10-05T09:18:05-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-05T09:18:05-03:00",
          "ultima_execucao_ok": "2026-10-05T09:18:05-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.5,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.37
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.3
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.33
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.0
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.92
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_04_1647",
      "data_hora": "2026-10-04T16:47:19-03:00",
      "fim": "2026-10-04T16:47:40-03:00",
      "ts": "2026-10-04T19:47:19+00:00",
      "ts_fim": "2026-10-04T19:47:40+00:00",
      "idade_horas": 503.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.02,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 2.21
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.77
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.4
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 5.9,
        "fontes_multiorgao": 12.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 113
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T16:47:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T16:47:39-03:00",
          "ultima_execucao_ok": "2026-10-04T16:47:40-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T16:47:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-04T16:47:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T16:47:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T16:47:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-04T16:47:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T16:47:19-03:00",
          "ultima_execucao_ok": "2026-10-04T16:47:19-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T16:47:19-03:00",
          "ultima_execucao_ok": "2026-10-04T16:47:19-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.39,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.51
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.61
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.73
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.09
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.83
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_04_1120",
      "data_hora": "2026-10-04T11:20:46-03:00",
      "fim": "2026-10-04T11:21:08-03:00",
      "ts": "2026-10-04T14:20:46+00:00",
      "ts_fim": "2026-10-04T14:21:08+00:00",
      "idade_horas": 508.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.23,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 2.06
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.34
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 5.5,
        "fontes_multiorgao": 13.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 111
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T11:20:55-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T11:21:05-03:00",
          "ultima_execucao_ok": "2026-10-04T11:21:08-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T11:21:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-04T11:20:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T11:20:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T11:20:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-04T11:20:56-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T11:20:46-03:00",
          "ultima_execucao_ok": "2026-10-04T11:20:46-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T11:20:46-03:00",
          "ultima_execucao_ok": "2026-10-04T11:20:46-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.72,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.96
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.43
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.45
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.98
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 1.93
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.92
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.05
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_04_0807",
      "data_hora": "2026-10-04T08:07:25-03:00",
      "fim": "2026-10-04T08:07:46-03:00",
      "ts": "2026-10-04T11:07:25+00:00",
      "ts_fim": "2026-10-04T11:07:46+00:00",
      "idade_horas": 512.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.38,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.83
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.15
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.27
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.14
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 4.6,
        "fontes_multiorgao": 14.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 109
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T08:07:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T08:07:44-03:00",
          "ultima_execucao_ok": "2026-10-04T08:07:46-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T08:07:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-04T08:07:35-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T08:07:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-04T08:07:37-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-04T08:07:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T08:07:25-03:00",
          "ultima_execucao_ok": "2026-10-04T08:07:25-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-04T08:07:25-03:00",
          "ultima_execucao_ok": "2026-10-04T08:07:25-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.19,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.11
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.58
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.64
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.02
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.6
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.88
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.36
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_03_1623",
      "data_hora": "2026-10-03T16:23:05-03:00",
      "fim": "2026-10-03T16:23:49-03:00",
      "ts": "2026-10-03T19:23:05+00:00",
      "ts_fim": "2026-10-03T19:23:49+00:00",
      "idade_horas": 527.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 43,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 22.43,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.91
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 17.32
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.83
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.37
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 21.0,
        "fontes_multiorgao": 19.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 107
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T16:23:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T16:23:46-03:00",
          "ultima_execucao_ok": "2026-10-03T16:23:49-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T16:23:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-03T16:23:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T16:23:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T16:23:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-03T16:23:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.9,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T16:23:05-03:00",
          "ultima_execucao_ok": "2026-10-03T16:23:05-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T16:23:05-03:00",
          "ultima_execucao_ok": "2026-10-03T16:23:05-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 14.66,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.2
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.88
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.7
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.17
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.85
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.3
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.56
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_03_1053",
      "data_hora": "2026-10-03T10:53:05-03:00",
      "fim": "2026-10-03T10:53:29-03:00",
      "ts": "2026-10-03T13:53:05+00:00",
      "ts_fim": "2026-10-03T13:53:29+00:00",
      "idade_horas": 533.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.13,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.06
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.83
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.83
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.43
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 5.5,
        "fontes_multiorgao": 15.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 105
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T10:53:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T10:53:26-03:00",
          "ultima_execucao_ok": "2026-10-03T10:53:29-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T10:53:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-03T10:53:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T10:53:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T10:53:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-03T10:53:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T10:53:05-03:00",
          "ultima_execucao_ok": "2026-10-03T10:53:05-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T10:53:05-03:00",
          "ultima_execucao_ok": "2026-10-03T10:53:05-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.94,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.43
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.46
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.55
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.46
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.93
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.75
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.36
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_03_0725",
      "data_hora": "2026-10-03T07:25:42-03:00",
      "fim": "2026-10-03T07:26:03-03:00",
      "ts": "2026-10-03T10:25:42+00:00",
      "ts_fim": "2026-10-03T10:26:03+00:00",
      "idade_horas": 536.8,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 21,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 6.2,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.78
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.01
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.23
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.2
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 13.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 103
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T07:25:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T07:26:01-03:00",
          "ultima_execucao_ok": "2026-10-03T07:26:03-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T07:26:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-03T07:25:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.1,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T07:25:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-03T07:25:54-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-03T07:25:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T07:25:42-03:00",
          "ultima_execucao_ok": "2026-10-03T07:25:42-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-03T07:25:42-03:00",
          "ultima_execucao_ok": "2026-10-03T07:25:42-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.72,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.07
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.34
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.6
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.13
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.53
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.99
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.06
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_02_1756",
      "data_hora": "2026-10-02T17:56:56-03:00",
      "fim": "2026-10-02T17:57:22-03:00",
      "ts": "2026-10-02T20:56:56+00:00",
      "ts_fim": "2026-10-02T20:57:22+00:00",
      "idade_horas": 550.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 26,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 10.71,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.09
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.47
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 8.93
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.21
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 6.4,
        "descoberta_procedimentos": 4.0,
        "fontes_multiorgao": 14.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 101
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T17:57:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T17:57:20-03:00",
          "ultima_execucao_ok": "2026-10-02T17:57:22-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T17:57:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-02T17:57:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T17:57:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T17:57:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-02T17:57:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T17:56:56-03:00",
          "ultima_execucao_ok": "2026-10-02T17:56:56-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T17:56:56-03:00",
          "ultima_execucao_ok": "2026-10-02T17:56:56-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.56,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.66
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.87
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.43
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.6
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.92
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.29
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_02_1157",
      "data_hora": "2026-10-02T11:57:34-03:00",
      "fim": "2026-10-02T11:57:54-03:00",
      "ts": "2026-10-02T14:57:34+00:00",
      "ts_fim": "2026-10-02T14:57:54+00:00",
      "idade_horas": 556.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 20,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.79,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.19
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.52
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.43
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.8,
        "descoberta_procedimentos": 4.9,
        "fontes_multiorgao": 12.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 99
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T11:57:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T11:57:52-03:00",
          "ultima_execucao_ok": "2026-10-02T11:57:54-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T11:57:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-02T11:57:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T11:57:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T11:57:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.7,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-02T11:57:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T11:57:34-03:00",
          "ultima_execucao_ok": "2026-10-02T11:57:34-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T11:57:34-03:00",
          "ultima_execucao_ok": "2026-10-02T11:57:34-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.42,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.72
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.6
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.24
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.78
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.19
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.73
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.16
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_02_0807",
      "data_hora": "2026-10-02T08:07:19-03:00",
      "fim": "2026-10-02T08:07:41-03:00",
      "ts": "2026-10-02T11:07:19+00:00",
      "ts_fim": "2026-10-02T11:07:41+00:00",
      "idade_horas": 560.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 22,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.87,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.0
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.57
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.23
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.08
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 2.3,
        "descoberta_procedimentos": 4.0,
        "fontes_multiorgao": 14.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 97
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T08:07:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T08:07:39-03:00",
          "ultima_execucao_ok": "2026-10-02T08:07:41-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T08:07:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-02T08:07:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T08:07:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-02T08:07:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-02T08:07:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T08:07:19-03:00",
          "ultima_execucao_ok": "2026-10-02T08:07:19-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-02T08:07:19-03:00",
          "ultima_execucao_ok": "2026-10-02T08:07:19-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 9.06,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.28
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.19
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.64
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.83
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.65
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.66
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_01_1818",
      "data_hora": "2026-10-01T18:18:02-03:00",
      "fim": "2026-10-01T18:18:21-03:00",
      "ts": "2026-10-01T21:18:02+00:00",
      "ts_fim": "2026-10-01T21:18:21+00:00",
      "idade_horas": 573.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 19,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.47,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.64
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.09
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.53
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.2
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.2,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 4.6,
        "fontes_multiorgao": 12.8
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 95
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T18:18:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T18:18:19-03:00",
          "ultima_execucao_ok": "2026-10-01T18:18:21-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T18:18:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-01T18:18:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T18:18:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T18:18:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.7,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-01T18:18:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T18:18:02-03:00",
          "ultima_execucao_ok": "2026-10-01T18:18:02-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T18:18:02-03:00",
          "ultima_execucao_ok": "2026-10-01T18:18:02-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 7.7,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.66
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.5
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.58
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.84
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.19
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.95
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.98
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_01_1238",
      "data_hora": "2026-10-01T12:38:35-03:00",
      "fim": "2026-10-01T12:39:00-03:00",
      "ts": "2026-10-01T15:38:35+00:00",
      "ts_fim": "2026-10-01T15:39:00+00:00",
      "idade_horas": 579.6,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 24,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.98,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.95
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.29
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.53
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.19
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 4.8,
        "fontes_multiorgao": 17.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 93
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T12:38:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T12:38:58-03:00",
          "ultima_execucao_ok": "2026-10-01T12:39:00-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T12:38:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/press-releases_en (HTTP 403); notícias oficiais (listagem): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/news_en (HTTP 403); publicações (opiniões e guidelines): HTML indisponível: https://www.edps.europa.eu/data-protection/our-work/publications_en (HTTP 403); nenhum canal respondeu — press releases (listagem oficial): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/press-releases_en (HTTP 403); notícias oficiais (listagem): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/news_en (HTTP 403); publicações (opiniões e guidelines): HTML indisponível: https://www.edps.europa.eu/data-protection/our-work/publications_en (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-01T12:38:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T12:38:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T12:38:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-01T12:38:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T12:38:35-03:00",
          "ultima_execucao_ok": "2026-10-01T12:38:35-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T12:38:35-03:00",
          "ultima_execucao_ok": "2026-10-01T12:38:35-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 9,
        "cache": 0,
        "tempo_total": 12.04,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.97
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.43
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.66
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.77
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 3.6
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.12
          },
          "edps": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 1.49
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_10_01_0838",
      "data_hora": "2026-10-01T08:38:24-03:00",
      "fim": "2026-10-01T08:38:48-03:00",
      "ts": "2026-10-01T11:38:24+00:00",
      "ts_fim": "2026-10-01T11:38:48+00:00",
      "idade_horas": 583.6,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 6.39,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.04
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.56
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.74
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.06
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.5,
        "descoberta_procedimentos": 3.9,
        "fontes_multiorgao": 16.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 91
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T08:38:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T08:38:46-03:00",
          "ultima_execucao_ok": "2026-10-01T08:38:48-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T08:38:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-10-01T08:38:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 3,
          "erros": 3,
          "duracao_segundos": 2.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 13,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T08:38:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.1,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-10-01T08:38:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 9.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-10-01T08:38:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T08:38:24-03:00",
          "ultima_execucao_ok": "2026-10-01T08:38:24-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-10-01T08:38:24-03:00",
          "ultima_execucao_ok": "2026-10-01T08:38:24-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 11.24,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.27
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.28
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.13
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.78
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.74
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.71
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.33
          }
        }
      },
      "mudancas_multiorgao": 5
    },
    {
      "id": "run_2026_09_30_1758",
      "data_hora": "2026-09-30T17:58:38-03:00",
      "fim": "2026-09-30T17:58:59-03:00",
      "ts": "2026-09-30T20:58:38+00:00",
      "ts_fim": "2026-09-30T20:58:59+00:00",
      "idade_horas": 598.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 20,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.15,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.92
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.35
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.21
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 13.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 86
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T17:58:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T17:58:58-03:00",
          "ultima_execucao_ok": "2026-09-30T17:58:59-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T17:58:58-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T17:58:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T17:58:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T17:58:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.7,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T17:58:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T17:58:38-03:00",
          "ultima_execucao_ok": "2026-09-30T17:58:38-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T17:58:38-03:00",
          "ultima_execucao_ok": "2026-09-30T17:58:38-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.8,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.67
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.25
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.49
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.65
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.18
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.74
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.82
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_30_1215",
      "data_hora": "2026-09-30T12:15:33-03:00",
      "fim": "2026-09-30T12:16:15-03:00",
      "ts": "2026-09-30T15:15:33+00:00",
      "ts_fim": "2026-09-30T15:16:15+00:00",
      "idade_horas": 604.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 42,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 18,
      "cache_http": 0,
      "falhas_http": 1,
      "tempo_rede_s": 24.52,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.61
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.09
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 1,
          "tempo_total": 2.55
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.2,
        "atualizacao_procedimentos": 22.8,
        "descoberta_procedimentos": 4.6,
        "fontes_multiorgao": 13.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 84
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T12:16:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T12:16:13-03:00",
          "ultima_execucao_ok": "2026-09-30T12:16:15-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T12:16:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T12:16:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T12:16:03-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T12:16:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T12:16:03-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T12:15:33-03:00",
          "ultima_execucao_ok": "2026-09-30T12:15:33-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T12:15:33-03:00",
          "ultima_execucao_ok": "2026-09-30T08:11:09-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 1,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.26,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.33
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.51
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.88
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.6
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.19
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.94
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_30_0811",
      "data_hora": "2026-09-30T08:11:09-03:00",
      "fim": "2026-09-30T08:11:32-03:00",
      "ts": "2026-09-30T11:11:09+00:00",
      "ts_fim": "2026-09-30T11:11:32+00:00",
      "idade_horas": 608.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 22,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 7.28,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.82
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.8
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.33
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.32
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.8,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 15.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 82
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T08:11:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T08:11:29-03:00",
          "ultima_execucao_ok": "2026-09-30T08:11:32-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T08:11:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T08:11:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 3.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T08:11:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-30T08:11:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-30T08:11:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T08:11:09-03:00",
          "ultima_execucao_ok": "2026-09-30T08:11:09-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-30T08:11:09-03:00",
          "ultima_execucao_ok": "2026-09-30T08:11:09-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.1,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.03
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.42
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.58
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.17
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.67
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.87
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.36
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_09_29_1800",
      "data_hora": "2026-09-29T18:00:51-03:00",
      "fim": "2026-09-29T18:01:35-03:00",
      "ts": "2026-09-29T21:00:51+00:00",
      "ts_fim": "2026-09-29T21:01:35+00:00",
      "idade_horas": 622.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 43,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 19.33,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.03
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.53
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 16.66
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.1
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 11.7,
        "descoberta_procedimentos": 4.9,
        "fontes_multiorgao": 25.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 79
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T18:01:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 3.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T18:01:32-03:00",
          "ultima_execucao_ok": "2026-09-29T18:01:35-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T18:01:33-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-29T18:01:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T18:01:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T18:01:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 15.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-29T18:01:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T18:00:51-03:00",
          "ultima_execucao_ok": "2026-09-29T18:00:51-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T18:00:51-03:00",
          "ultima_execucao_ok": "2026-09-29T18:00:51-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 19.85,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 3.35
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.59
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.82
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.33
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 10.55
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.07
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.14
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_09_29_1203",
      "data_hora": "2026-09-29T12:03:57-03:00",
      "fim": "2026-09-29T12:04:26-03:00",
      "ts": "2026-09-29T15:03:57+00:00",
      "ts_fim": "2026-09-29T15:04:26+00:00",
      "idade_horas": 628.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 28,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 12.0,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.83
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.01
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 9.96
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 3.0,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 19.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 76
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T12:04:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 3.6,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T12:04:24-03:00",
          "ultima_execucao_ok": "2026-09-29T12:04:26-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T12:04:25-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-29T12:04:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 2,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 3.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T12:04:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T12:04:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.9,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-29T12:04:10-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T12:03:57-03:00",
          "ultima_execucao_ok": "2026-09-29T12:03:57-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T12:03:57-03:00",
          "ultima_execucao_ok": "2026-09-29T12:03:57-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 14.83,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 3.62
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.57
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.74
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.38
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.4
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.8
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.32
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_29_0823",
      "data_hora": "2026-09-29T08:23:06-03:00",
      "fim": "2026-09-29T08:23:29-03:00",
      "ts": "2026-09-29T11:23:06+00:00",
      "ts_fim": "2026-09-29T11:23:29+00:00",
      "idade_horas": 631.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 22,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.1,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.63
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.84
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.5
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.14
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.2,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 15.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 74
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T08:23:13-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T08:23:27-03:00",
          "ultima_execucao_ok": "2026-09-29T08:23:29-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T08:23:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-29T08:23:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 3,
          "novidades": 2,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T08:23:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-29T08:23:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 10.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-29T08:23:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T08:23:06-03:00",
          "ultima_execucao_ok": "2026-09-29T08:23:06-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-29T08:23:06-03:00",
          "ultima_execucao_ok": "2026-09-29T08:23:06-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 10.79,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.52
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.28
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.39
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.21
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 5.55
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.74
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.1
          }
        }
      },
      "mudancas_multiorgao": 4
    },
    {
      "id": "run_2026_09_28_1359",
      "data_hora": "2026-09-28T13:59:41-03:00",
      "fim": "2026-09-28T14:00:07-03:00",
      "ts": "2026-09-28T16:59:41+00:00",
      "ts_fim": "2026-09-28T17:00:07+00:00",
      "idade_horas": 650.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 26,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.71,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.68
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.92
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.96
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.15
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.1,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 19.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 70
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T13:59:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-28T14:00:05-03:00",
          "ultima_execucao_ok": "2026-09-28T14:00:07-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T14:00:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-28T13:59:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 2.1,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 7,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T13:59:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T13:59:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 14.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-28T13:59:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-28T13:59:41-03:00",
          "ultima_execucao_ok": "2026-09-28T13:59:41-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-28T13:59:41-03:00",
          "ultima_execucao_ok": "2026-09-28T13:59:41-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 28,
        "falhas": 7,
        "cache": 0,
        "tempo_total": 13.23,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.71
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.47
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.3
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.05
          },
          "eu_parliament": {
            "chamadas": 8,
            "falhas": 4,
            "tempo_total": 8.0
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.91
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_09_28_0842",
      "data_hora": "2026-09-28T08:42:52-03:00",
      "fim": "2026-09-28T08:43:35-03:00",
      "ts": "2026-09-28T11:42:52+00:00",
      "ts_fim": "2026-09-28T11:43:35+00:00",
      "idade_horas": 655.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 43,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 18,
      "cache_http": 0,
      "falhas_http": 1,
      "tempo_rede_s": 24.88,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.42
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 1,
          "tempo_total": 2.43
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.33
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 22.9,
        "descoberta_procedimentos": 5.0,
        "fontes_multiorgao": 13.9
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 67
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T08:43:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-28T08:43:33-03:00",
          "ultima_execucao_ok": "2026-09-28T08:43:35-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T08:43:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-28T08:43:24-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T08:43:23-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-28T08:43:26-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 6.8,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-28T08:43:22-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-28T08:42:52-03:00",
          "ultima_execucao_ok": "2026-09-28T08:42:52-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-28T08:42:52-03:00",
          "ultima_execucao_ok": "2026-09-27T11:16:13-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 1,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.77,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.88
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.62
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.54
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.59
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.31
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.02
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_27_1651",
      "data_hora": "2026-09-27T16:51:48-03:00",
      "fim": "2026-09-27T16:52:21-03:00",
      "ts": "2026-09-27T19:51:48+00:00",
      "ts_fim": "2026-09-27T19:52:21+00:00",
      "idade_horas": 671.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 33,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 19,
      "cache_http": 0,
      "falhas_http": 2,
      "tempo_rede_s": 20.79,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.95
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.63
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 2,
          "tempo_total": 11.07
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.1
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 7.8,
        "descoberta_procedimentos": 4.0,
        "fontes_multiorgao": 20.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 65
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T16:52:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T16:52:19-03:00",
          "ultima_execucao_ok": "2026-09-27T16:52:21-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T16:52:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T16:52:03-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T16:52:03-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T16:52:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 13.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T16:52:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T16:51:48-03:00",
          "ultima_execucao_ok": "2026-09-27T16:51:48-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T16:51:48-03:00",
          "ultima_execucao_ok": "2026-09-27T11:16:13-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 2,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 28,
        "falhas": 7,
        "cache": 0,
        "tempo_total": 13.75,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.97
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.4
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.34
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.43
          },
          "eu_parliament": {
            "chamadas": 8,
            "falhas": 4,
            "tempo_total": 7.57
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.71
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.33
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_27_1116",
      "data_hora": "2026-09-27T11:16:13-03:00",
      "fim": "2026-09-27T11:16:58-03:00",
      "ts": "2026-09-27T14:16:13+00:00",
      "ts_fim": "2026-09-27T14:16:58+00:00",
      "idade_horas": 677.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 44,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 24.52,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.65
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 17.88
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.82
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.17
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 2.3,
        "descoberta_procedimentos": 21.4,
        "fontes_multiorgao": 19.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 63
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T11:16:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T11:16:56-03:00",
          "ultima_execucao_ok": "2026-09-27T11:16:58-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T11:16:57-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T11:16:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T11:16:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T11:16:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T11:16:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 5.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T11:16:13-03:00",
          "ultima_execucao_ok": "2026-09-27T11:16:13-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T11:16:13-03:00",
          "ultima_execucao_ok": "2026-09-27T11:16:13-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 14.58,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 5.41
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.49
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.84
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 4.11
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.84
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.08
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_27_0734",
      "data_hora": "2026-09-27T07:34:37-03:00",
      "fim": "2026-09-27T07:35:10-03:00",
      "ts": "2026-09-27T10:34:37+00:00",
      "ts_fim": "2026-09-27T10:35:10+00:00",
      "idade_horas": 680.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 33,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 8.92,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.06
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.07
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.54
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.27
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 2.6,
        "descoberta_procedimentos": 4.6,
        "fontes_multiorgao": 24.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 61
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T07:34:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T07:35:08-03:00",
          "ultima_execucao_ok": "2026-09-27T07:35:10-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T07:35:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T07:34:49-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T07:34:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-27T07:34:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 16.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-27T07:34:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T07:34:37-03:00",
          "ultima_execucao_ok": "2026-09-27T07:34:37-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-27T07:34:37-03:00",
          "ultima_execucao_ok": "2026-09-27T07:34:37-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 19.17,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.51
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.47
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.75
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.88
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 11.56
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.73
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.27
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_26_1621",
      "data_hora": "2026-09-26T16:21:29-03:00",
      "fim": "2026-09-26T16:21:53-03:00",
      "ts": "2026-09-26T19:21:29+00:00",
      "ts_fim": "2026-09-26T19:21:53+00:00",
      "idade_horas": 695.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 23,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 15.51,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.91
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.77
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 13.69
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.15
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.5,
        "atualizacao_procedimentos": 3.8,
        "descoberta_procedimentos": 4.2,
        "fontes_multiorgao": 14.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 59
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T16:21:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T16:21:51-03:00",
          "ultima_execucao_ok": "2026-09-26T16:21:53-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T16:21:52-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T16:21:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T16:21:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T16:21:44-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T16:21:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T16:21:29-03:00",
          "ultima_execucao_ok": "2026-09-26T16:21:29-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T16:21:29-03:00",
          "ultima_execucao_ok": "2026-09-26T16:21:29-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 8.92,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.27
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.42
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.5
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.24
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.69
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.64
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.16
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_26_1021",
      "data_hora": "2026-09-26T10:21:56-03:00",
      "fim": "2026-09-26T10:22:22-03:00",
      "ts": "2026-09-26T13:21:56+00:00",
      "ts_fim": "2026-09-26T13:22:22+00:00",
      "idade_horas": 701.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 25,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 6.17,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.13
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.33
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.57
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.16
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.7,
        "atualizacao_procedimentos": 1.3,
        "descoberta_procedimentos": 4.8,
        "fontes_multiorgao": 17.5
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 57
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T10:22:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T10:22:19-03:00",
          "ultima_execucao_ok": "2026-09-26T10:22:22-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T10:22:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T10:22:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T10:22:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T10:22:12-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T10:22:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T10:21:56-03:00",
          "ultima_execucao_ok": "2026-09-26T10:21:56-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T10:21:56-03:00",
          "ultima_execucao_ok": "2026-09-26T10:21:56-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 12.33,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.56
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.59
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 2.36
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.51
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.81
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.25
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.25
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_26_0653",
      "data_hora": "2026-09-26T06:53:01-03:00",
      "fim": "2026-09-26T06:54:02-03:00",
      "ts": "2026-09-26T09:53:01+00:00",
      "ts_fim": "2026-09-26T09:54:02+00:00",
      "idade_horas": 705.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 60,
      "orcamento_segundos": 1500,
      "verificadas": 1,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 1,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 25.0,
      "erros": 3,
      "chamadas_http": 21,
      "cache_http": 0,
      "falhas_http": 7,
      "tempo_rede_s": 75.73,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.76
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.89
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 1,
          "falhas": 7,
          "tempo_total": 1.42
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.15
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 31.5,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 23.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 55
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T06:53:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T06:54:00-03:00",
          "ultima_execucao_ok": "2026-09-26T06:54:02-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T06:54:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T06:53:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T06:53:41-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-26T06:53:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 16.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T06:53:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-26T06:53:01-03:00",
          "ultima_execucao_ok": "2026-09-26T06:53:01-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-26T06:53:01-03:00",
          "ultima_execucao_ok": "2026-09-25T17:07:06-03:00",
          "itens_consultados": 1,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 2,
          "falhas_http": 7,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 6,
        "cache": 0,
        "tempo_total": 17.87,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.32
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.4
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.59
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.98
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 11.69
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.11
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_25_1707",
      "data_hora": "2026-09-25T17:07:06-03:00",
      "fim": "2026-09-25T17:07:34-03:00",
      "ts": "2026-09-25T20:07:06+00:00",
      "ts_fim": "2026-09-25T20:07:34+00:00",
      "idade_horas": 719.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 28,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 9.25,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 4.04
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.11
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.09
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 7.4,
        "fontes_multiorgao": 17.6
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 53
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T17:07:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T17:07:31-03:00",
          "ultima_execucao_ok": "2026-09-25T17:07:34-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T17:07:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/press-releases_en (HTTP 403); notícias oficiais (listagem): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/news_en (HTTP 403); publicações (opiniões e guidelines): HTML indisponível: https://www.edps.europa.eu/data-protection/our-work/publications_en (HTTP 403); nenhum canal respondeu — press releases (listagem oficial): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/press-releases_en (HTTP 403); notícias oficiais (listagem): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/news_en (HTTP 403); publicações (opiniões e guidelines): HTML indisponível: https://www.edps.europa.eu/data-protection/our-work/publications_en (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-25T17:07:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.4,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T17:07:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T17:07:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 10.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-25T17:07:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T17:07:06-03:00",
          "ultima_execucao_ok": "2026-09-25T17:07:06-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T17:07:06-03:00",
          "ultima_execucao_ok": "2026-09-25T17:07:06-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 9,
        "cache": 0,
        "tempo_total": 12.73,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.37
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.38
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.32
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.39
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 5.74
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.1
          },
          "edps": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 1.43
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_25_1108",
      "data_hora": "2026-09-25T11:08:47-03:00",
      "fim": "2026-09-25T11:09:18-03:00",
      "ts": "2026-09-25T14:08:47+00:00",
      "ts_fim": "2026-09-25T14:09:18+00:00",
      "idade_horas": 725.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 30,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 19.58,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.03
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.7
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 16.03
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 1.82
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 4.5,
        "descoberta_procedimentos": 5.8,
        "fontes_multiorgao": 18.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 51
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T11:08:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T11:09:13-03:00",
          "ultima_execucao_ok": "2026-09-25T11:09:18-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T11:09:14-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 3.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/press-releases_en (HTTP 403); notícias oficiais (listagem): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/news_en (HTTP 403); publicações (opiniões e guidelines): HTML indisponível: https://www.edps.europa.eu/data-protection/our-work/publications_en (HTTP 403); nenhum canal respondeu — press releases (listagem oficial): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/press-releases_en (HTTP 403); notícias oficiais (listagem): HTML indisponível: https://www.edps.europa.eu/press-publications/press-news/news_en (HTTP 403); publicações (opiniões e guidelines): HTML indisponível: https://www.edps.europa.eu/data-protection/our-work/publications_en (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-25T11:09:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T11:09:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T11:09:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 7.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-25T11:09:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T11:08:47-03:00",
          "ultima_execucao_ok": "2026-09-25T11:08:47-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T11:08:47-03:00",
          "ultima_execucao_ok": "2026-09-25T11:08:47-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 27,
        "falhas": 9,
        "cache": 0,
        "tempo_total": 13.7,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.18
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.58
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.77
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.23
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 2.69
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.08
          },
          "edps": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 3.17
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_25_0713",
      "data_hora": "2026-09-25T07:13:01-03:00",
      "fim": "2026-09-25T07:14:47-03:00",
      "ts": "2026-09-25T10:13:01+00:00",
      "ts_fim": "2026-09-25T10:14:47+00:00",
      "idade_horas": 729.0,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 106,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 8.7,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.01
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.17
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 6.13
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.4
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.9,
        "descoberta_procedimentos": 4.9,
        "fontes_multiorgao": 97.7
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 49
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T07:13:09-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T07:14:44-03:00",
          "ultima_execucao_ok": "2026-09-25T07:14:47-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T07:14:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-25T07:14:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T07:14:31-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T07:14:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 10.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "falha",
          "ultima_tentativa": "2026-09-25T07:13:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 5,
          "duracao_segundos": 80.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "atos do Jornal Oficial — série L (RSS oficial)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; atos do Jornal Oficial — série L (RSS oficial): RSS indisponível: https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222 (TimeoutError: The read operation timed out); AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T07:13:01-03:00",
          "ultima_execucao_ok": "2026-09-25T07:13:01-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-25T07:13:01-03:00",
          "ultima_execucao_ok": "2026-09-25T07:13:01-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament",
        "eurlex"
      ],
      "fontes_parciais": [
        "eu_commission"
      ],
      "http_fontes": {
        "chamadas": 29,
        "falhas": 9,
        "cache": 0,
        "tempo_total": 88.15,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.54
          },
          "eurlex": {
            "chamadas": 6,
            "falhas": 3,
            "tempo_total": 75.85
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.57
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.31
          },
          "eu_parliament": {
            "chamadas": 7,
            "falhas": 3,
            "tempo_total": 5.46
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.88
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.54
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_24_1706",
      "data_hora": "2026-09-24T17:06:13-03:00",
      "fim": "2026-09-24T17:06:49-03:00",
      "ts": "2026-09-24T20:06:13+00:00",
      "ts_fim": "2026-09-24T20:06:49+00:00",
      "idade_horas": 743.1,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 35,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 27.36,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.99
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 14.64
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 11.38
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.33
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 3.3,
        "descoberta_procedimentos": 18.3,
        "fontes_multiorgao": 12.3
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 47
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T17:06:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T17:06:46-03:00",
          "ultima_execucao_ok": "2026-09-24T17:06:49-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T17:06:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-24T17:06:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T17:06:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T17:06:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-24T17:06:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.0,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T17:06:13-03:00",
          "ultima_execucao_ok": "2026-09-24T17:06:13-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T17:06:13-03:00",
          "ultima_execucao_ok": "2026-09-24T17:06:13-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 11.62,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.1
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 3.97
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.73
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.25
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.44
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.71
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.42
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_24_1045",
      "data_hora": "2026-09-24T10:45:53-03:00",
      "fim": "2026-09-24T10:46:17-03:00",
      "ts": "2026-09-24T13:45:53+00:00",
      "ts_fim": "2026-09-24T13:46:17+00:00",
      "idade_horas": 749.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 24,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.31,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.02
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.62
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 3.34
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.34
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 4.3,
        "fontes_multiorgao": 17.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 45
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T10:46:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T10:46:15-03:00",
          "ultima_execucao_ok": "2026-09-24T10:46:17-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T10:46:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-24T10:46:03-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.7,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T10:46:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T10:46:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 9.0,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-24T10:46:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T10:45:53-03:00",
          "ultima_execucao_ok": "2026-09-24T10:45:53-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T10:45:53-03:00",
          "ultima_execucao_ok": "2026-09-24T10:45:53-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 16.57,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.39
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.48
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.71
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.73
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 8.98
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.71
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.57
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_24_0703",
      "data_hora": "2026-09-24T07:03:05-03:00",
      "fim": "2026-09-24T07:03:43-03:00",
      "ts": "2026-09-24T10:03:05+00:00",
      "ts_fim": "2026-09-24T10:03:43+00:00",
      "idade_horas": 753.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 38,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 35.34,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.23
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 33.22
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.21
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 9.0,
        "descoberta_procedimentos": 4.7,
        "fontes_multiorgao": 23.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 43
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T07:03:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 17.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T07:03:41-03:00",
          "ultima_execucao_ok": "2026-09-24T07:03:43-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T07:03:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-24T07:03:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 6,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T07:03:38-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-24T07:03:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-24T07:03:37-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T07:03:05-03:00",
          "ultima_execucao_ok": "2026-09-24T07:03:05-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-24T07:03:05-03:00",
          "ultima_execucao_ok": "2026-09-24T07:03:05-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 22.75,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 17.05
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.53
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.46
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.63
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.27
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.03
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_09_23_1647",
      "data_hora": "2026-09-23T16:47:49-03:00",
      "fim": "2026-09-23T16:48:25-03:00",
      "ts": "2026-09-23T19:47:49+00:00",
      "ts_fim": "2026-09-23T19:48:25+00:00",
      "idade_horas": 767.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 35,
      "orcamento_segundos": 1500,
      "verificadas": 2,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 2,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 50.0,
      "erros": 2,
      "chamadas_http": 19,
      "cache_http": 0,
      "falhas_http": 4,
      "tempo_rede_s": 39.58,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.94
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 2,
          "falhas": 4,
          "tempo_total": 1.25
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.32
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 22.0,
        "descoberta_procedimentos": 4.6,
        "fontes_multiorgao": 8.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 40
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T16:48:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T16:48:23-03:00",
          "ultima_execucao_ok": "2026-09-23T16:48:25-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T16:48:24-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T16:48:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 0,
          "itens_descartados": 10,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.9,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 5,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T16:48:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T16:48:20-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T16:48:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T16:47:49-03:00",
          "ultima_execucao_ok": "2026-09-23T16:47:49-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T16:47:49-03:00",
          "ultima_execucao_ok": "2026-09-23T10:50:09-03:00",
          "itens_consultados": 2,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 3,
          "falhas_http": 4,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 7.39,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.78
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.56
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.25
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.88
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 2.22
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.81
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.89
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_23_1050",
      "data_hora": "2026-09-23T10:50:09-03:00",
      "fim": "2026-09-23T10:50:25-03:00",
      "ts": "2026-09-23T13:50:09+00:00",
      "ts_fim": "2026-09-23T13:50:25+00:00",
      "idade_horas": 773.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 16,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 4.72,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.19
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.49
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 2.67
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.39
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.8,
        "atualizacao_procedimentos": 1.0,
        "descoberta_procedimentos": 4.2,
        "fontes_multiorgao": 9.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 38
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T10:50:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T10:50:22-03:00",
          "ultima_execucao_ok": "2026-09-23T10:50:25-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T10:50:23-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T10:50:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.3,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 5,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T10:50:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T10:50:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T10:50:17-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T10:50:09-03:00",
          "ultima_execucao_ok": "2026-09-23T10:50:09-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T10:50:09-03:00",
          "ultima_execucao_ok": "2026-09-23T10:50:09-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 8.71,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.05
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.45
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.74
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.25
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.47
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.21
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.54
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_23_0700",
      "data_hora": "2026-09-23T07:00:31-03:00",
      "fim": "2026-09-23T07:01:24-03:00",
      "ts": "2026-09-23T10:00:31+00:00",
      "ts_fim": "2026-09-23T10:01:24+00:00",
      "idade_horas": 777.2,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 52,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 19,
      "cache_http": 0,
      "falhas_http": 2,
      "tempo_rede_s": 62.42,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.73
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.92
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 2,
          "tempo_total": 20.5
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.27
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 38.8,
        "descoberta_procedimentos": 4.5,
        "fontes_multiorgao": 8.1
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 36
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T07:01:16-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 2.1,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T07:01:22-03:00",
          "ultima_execucao_ok": "2026-09-23T07:01:24-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 0,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 10,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T07:01:23-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T07:01:19-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 5,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T07:01:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-23T07:01:21-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T07:01:18-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.3,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-23T07:00:31-03:00",
          "ultima_execucao_ok": "2026-09-23T07:00:31-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-23T07:00:31-03:00",
          "ultima_execucao_ok": "2026-09-22T16:52:20-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 2,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex",
        "parlamento"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 7.42,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 2.05
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.28
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.41
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.82
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.27
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.72
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 0.87
          }
        }
      },
      "mudancas_multiorgao": 4
    },
    {
      "id": "run_2026_09_22_1652",
      "data_hora": "2026-09-22T16:52:20-03:00",
      "fim": "2026-09-22T16:52:55-03:00",
      "ts": "2026-09-22T19:52:20+00:00",
      "ts_fim": "2026-09-22T19:52:55+00:00",
      "idade_horas": 791.4,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 34,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 20.49,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.81
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 15.09
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.36
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.22
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 18.7,
        "fontes_multiorgao": 13.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 32
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T16:52:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T16:52:52-03:00",
          "ultima_execucao_ok": "2026-09-22T16:52:55-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T16:52:53-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-22T16:52:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 4,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T16:52:47-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T16:52:51-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-22T16:52:43-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.2,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T16:52:20-03:00",
          "ultima_execucao_ok": "2026-09-22T16:52:20-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T16:52:20-03:00",
          "ultima_execucao_ok": "2026-09-22T16:52:20-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 12.8,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.41
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.23
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.88
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.24
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.59
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.07
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.38
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_22_1038",
      "data_hora": "2026-09-22T10:38:57-03:00",
      "fim": "2026-09-22T10:39:12-03:00",
      "ts": "2026-09-22T13:38:57+00:00",
      "ts_fim": "2026-09-22T13:39:12+00:00",
      "idade_horas": 797.6,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 15,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 6.47,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.66
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.53
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 4.13
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.13
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 1.4,
        "descoberta_procedimentos": 5.0,
        "fontes_multiorgao": 7.4
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 30
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T10:39:05-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.7,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T10:39:10-03:00",
          "ultima_execucao_ok": "2026-09-22T10:39:12-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 9,
          "itens_descartados": 1,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 1.0,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 9
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T10:39:11-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-22T10:39:07-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 4,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T10:39:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.4,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T10:39:08-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-22T10:39:06-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T10:38:57-03:00",
          "ultima_execucao_ok": "2026-09-22T10:38:57-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T10:38:57-03:00",
          "ultima_execucao_ok": "2026-09-22T10:38:57-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 6.59,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.74
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.45
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.37
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.58
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.25
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 1.0
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.2
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_09_22_0658",
      "data_hora": "2026-09-22T06:58:50-03:00",
      "fim": "2026-09-22T06:59:16-03:00",
      "ts": "2026-09-22T09:58:50+00:00",
      "ts_fim": "2026-09-22T09:59:16+00:00",
      "idade_horas": 801.3,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 26,
      "orcamento_segundos": 1500,
      "verificadas": 4,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 4,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 9.62,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.81
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.23
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 7.35
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.23
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.4,
        "atualizacao_procedimentos": 2.8,
        "descoberta_procedimentos": 4.8,
        "fontes_multiorgao": 17.2
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 27
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T06:58:59-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T06:59:12-03:00",
          "ultima_execucao_ok": "2026-09-22T06:59:16-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 2.2,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T06:59:15-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.3,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-22T06:59:02-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 1,
          "itens_descartados": 9,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 2.0,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 1
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 4,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T06:59:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-22T06:59:04-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 8.6,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-22T06:59:00-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.6,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T06:58:50-03:00",
          "ultima_execucao_ok": "2026-09-22T06:58:50-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-22T06:58:50-03:00",
          "ultima_execucao_ok": "2026-09-22T06:58:50-03:00",
          "itens_consultados": 4,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 16.54,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.45
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.62
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.49
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.97
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 8.58
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 2.17
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.26
          }
        }
      },
      "mudancas_multiorgao": 4
    },
    {
      "id": "run_2026_09_21_1733",
      "data_hora": "2026-09-21T17:33:01-03:00",
      "fim": "2026-09-21T17:33:40-03:00",
      "ts": "2026-09-21T20:33:01+00:00",
      "ts_fim": "2026-09-21T20:33:40+00:00",
      "idade_horas": 814.7,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 38,
      "orcamento_segundos": 1500,
      "verificadas": 2,
      "monitoradas": 4,
      "pendentes": 0,
      "atualizadas": 2,
      "novas": 2,
      "mudancas": 2,
      "eventos": 0,
      "cobertura_pct": 50.0,
      "erros": 0,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 23.95,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 2.86
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 15.61
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 5.25
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.25
        }
      },
      "fases_segundos": {
        "agenda_consultas": 3.5,
        "atualizacao_procedimentos": 1.2,
        "descoberta_procedimentos": 21.4,
        "fontes_multiorgao": 13.0
      },
      "snapshot": {
        "proposicoes_total": 4,
        "por_situacao": {
          "em_tramitacao": 4
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 23
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T17:33:27-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T17:33:38-03:00",
          "ultima_execucao_ok": "2026-09-21T17:33:40-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T17:33:39-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-21T17:33:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.8,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 3,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T17:33:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T17:33:36-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.5,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-21T17:33:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 4.7,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T17:33:01-03:00",
          "ultima_execucao_ok": "2026-09-21T17:33:01-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T17:33:01-03:00",
          "ultima_execucao_ok": "2026-09-21T17:33:01-03:00",
          "itens_consultados": 2,
          "novidades": 2,
          "erros": 0,
          "chamadas_http": 5,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 12.31,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.79
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 4.68
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.53
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.81
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 1.54
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.8
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.16
          }
        }
      },
      "mudancas_multiorgao": 2
    },
    {
      "id": "run_2026_09_21_1218",
      "data_hora": "2026-09-21T12:18:34-03:00",
      "fim": "2026-09-21T12:19:02-03:00",
      "ts": "2026-09-21T15:18:34+00:00",
      "ts_fim": "2026-09-21T15:19:02+00:00",
      "idade_horas": 819.9,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 27,
      "orcamento_segundos": 1500,
      "verificadas": 2,
      "monitoradas": 2,
      "pendentes": 0,
      "atualizadas": 2,
      "novas": 0,
      "mudancas": 4,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": 15,
      "cache_http": 0,
      "falhas_http": 0,
      "tempo_rede_s": 5.19,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 1.05
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 1.08
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 2.8
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.27
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.6,
        "atualizacao_procedimentos": 2.0,
        "descoberta_procedimentos": 4.6,
        "fontes_multiorgao": 19.7
      },
      "snapshot": {
        "proposicoes_total": 2,
        "por_situacao": {
          "em_tramitacao": 2
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 19
      },
      "fontes": 4,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T12:18:42-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T12:19:00-03:00",
          "ultima_execucao_ok": "2026-09-21T12:19:02-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 0,
          "duracao_segundos": 0.9,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T12:19:01-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.4,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-21T12:18:46-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 3,
          "itens_descartados": 7,
          "itens_duplicados": 0,
          "revisao_pendente": 1,
          "novidades": 1,
          "erros": 3,
          "duracao_segundos": 2.5,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 3
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 3,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T12:18:45-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T12:18:48-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 11.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-21T12:18:44-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 1.2,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T12:18:34-03:00",
          "ultima_execucao_ok": "2026-09-21T12:18:34-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T12:18:34-03:00",
          "ultima_execucao_ok": "2026-09-21T12:18:34-03:00",
          "itens_consultados": 2,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 3,
          "falhas_http": 0,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:api/v2/procedures",
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 4,
        "cache": 0,
        "tempo_total": 19.06,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 1.19
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.19
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.84
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 2.46
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 1,
            "tempo_total": 11.05
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.94
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.39
          }
        }
      },
      "mudancas_multiorgao": 3
    },
    {
      "id": "run_2026_09_21_0745",
      "data_hora": "2026-09-21T07:45:40-03:00",
      "fim": "2026-09-21T07:46:35-03:00",
      "ts": "2026-09-21T10:45:40+00:00",
      "ts_fim": "2026-09-21T10:46:35+00:00",
      "idade_horas": 824.5,
      "tipo": "atualizacao",
      "status": "parcial",
      "duracao_segundos": 54,
      "orcamento_segundos": 1500,
      "verificadas": 0,
      "monitoradas": 2,
      "pendentes": 0,
      "atualizadas": 0,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 0.0,
      "erros": 2,
      "chamadas_http": 17,
      "cache_http": 0,
      "falhas_http": 4,
      "tempo_rede_s": 81.85,
      "por_endpoint": {
        "comissao:info/law/better-regulation": {
          "chamadas": 2,
          "falhas": 0,
          "tempo_total": 0.67
        },
        "eurlex:search.html": {
          "chamadas": 10,
          "falhas": 0,
          "tempo_total": 0.95
        },
        "parlamento:api/v2/procedures": {
          "chamadas": 0,
          "falhas": 4,
          "tempo_total": 0.0
        },
        "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.14
        }
      },
      "fases_segundos": {
        "agenda_consultas": 1.3,
        "atualizacao_procedimentos": 42.4,
        "descoberta_procedimentos": 4.4,
        "fontes_multiorgao": 6.6
      },
      "snapshot": {
        "proposicoes_total": 2,
        "por_situacao": {
          "em_tramitacao": 2
        },
        "normas_total": 2,
        "eventos_total": 1,
        "mudancas_registradas": 12
      },
      "fontes": 2,
      "engine": {
        "orcamento_segundos": 1500,
        "max_novas": 25,
        "workers": 5,
        "http_concorrencia": 4
      },
      "status_global": "PARCIAL",
      "fontes_monitoradas": {
        "ai_office": {
          "nome": "European AI Office — Comissão Europeia (digital-strategy)",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T07:46:28-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
            "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
            "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
            "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
            "https://digital-strategy.ec.europa.eu/en/ai-act"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "notícias e comunicados do portal",
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "canais_falhos_obrigatorios": [
            "notícias e comunicados do portal"
          ],
          "canais_opcionais_falhos": [
            "página da AI Office (políticas e ações)",
            "AI Act — quadro regulatório e implementação",
            "General-Purpose AI — página oficial",
            "AI Act — página do serviço"
          ],
          "erro_detalhe": "notícias e comunicados do portal: ModuleNotFoundError: No module named 'eu_parsers'; página da AI Office (políticas e ações): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — quadro regulatório e implementação: ModuleNotFoundError: No module named 'eu_parsers'; General-Purpose AI — página oficial: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "edpb": {
          "nome": "EDPB — European Data Protection Board",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T07:46:33-03:00",
          "ultima_execucao_ok": "2026-09-21T07:46:35-03:00",
          "itens_consultados": 10,
          "itens_relevantes": 10,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 9,
          "erros": 0,
          "duracao_segundos": 0.8,
          "endpoints": [
            "https://www.edpb.europa.eu/feed/news_en"
          ],
          "canais_detalhe": [
            {
              "canal": "notícias e guidelines (RSS oficial)",
              "url": "https://www.edpb.europa.eu/feed/news_en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 10
            }
          ],
          "canais_ok": [
            "notícias e guidelines (RSS oficial)"
          ],
          "canais_falhos": [],
          "canais_falhos_obrigatorios": [],
          "canais_opcionais_falhos": [],
          "erro_detalhe": null,
          "atos_registrados": 9,
          "atos_descartados_por_retencao": 0
        },
        "edps": {
          "nome": "EDPS — European Data Protection Supervisor",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T07:46:34-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
            "https://www.edps.europa.eu/press-publications/press-news/news_en",
            "https://www.edps.europa.eu/data-protection/our-work/publications_en"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "press releases (listagem oficial)",
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "canais_falhos_obrigatorios": [
            "press releases (listagem oficial)"
          ],
          "canais_opcionais_falhos": [
            "notícias oficiais (listagem)",
            "publicações (opiniões e guidelines)"
          ],
          "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_commission": {
          "nome": "Comissão Europeia — Press Corner e Have Your Say",
          "status": "parcial",
          "ultima_tentativa": "2026-09-21T07:46:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 10,
          "itens_relevantes": 2,
          "itens_descartados": 8,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 2,
          "erros": 3,
          "duracao_segundos": 1.6,
          "endpoints": [
            "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
            "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
          ],
          "canais_detalhe": [
            {
              "canal": "comunicados oficiais (Press Corner, RSS)",
              "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
              "itens_brutos": 10,
              "amostra_hierarquia": [],
              "itens_relevantes": 2
            }
          ],
          "canais_ok": [
            "comunicados oficiais (Press Corner, RSS)"
          ],
          "canais_falhos": [
            "consultas públicas e calls for evidence (Have Your Say)",
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "canais_falhos_obrigatorios": [
            "consultas públicas e calls for evidence (Have Your Say)"
          ],
          "canais_opcionais_falhos": [
            "consultas públicas (Have Your Say, página 2)",
            "consultas por tema (Have Your Say, keywords)"
          ],
          "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 2,
          "atos_descartados_por_retencao": 0
        },
        "eu_council": {
          "nome": "Conselho da UE — Registro público de documentos",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T07:46:30-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 4,
          "duracao_segundos": 0.5,
          "endpoints": [
            "https://www.consilium.europa.eu/en/documents/public-register/latest/",
            "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
            "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "últimos documentos adicionados ao registro",
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "canais_falhos_obrigatorios": [
            "últimos documentos adicionados ao registro"
          ],
          "canais_opcionais_falhos": [
            "últimos documentos (página 2)",
            "documentos legislativos preparatórios (página 1)"
          ],
          "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eu_parliament": {
          "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T07:46:32-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "itens_relevantes": 0,
          "itens_descartados": 0,
          "itens_duplicados": 0,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 6,
          "duracao_segundos": 1.1,
          "endpoints": [
            "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
            "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
            "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
            "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
            "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
          ],
          "canais_detalhe": [],
          "canais_ok": [],
          "canais_falhos": [
            "API v2 — procedimentos do termo parlamentar corrente",
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "canais_falhos_obrigatorios": [
            "API v2 — procedimentos do termo parlamentar corrente"
          ],
          "canais_opcionais_falhos": [
            "API v2 — procedimentos de IA (busca por texto)",
            "Legislative Train — Europe fit for the digital age",
            "Legislative Train — unicidade e poderes de execução",
            "sala de imprensa — por tema"
          ],
          "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex": {
          "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
          "status": "parcial",
          "ultima_tentativa": "2026-09-21T07:46:29-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 100,
          "itens_relevantes": 0,
          "itens_descartados": 1,
          "itens_duplicados": 99,
          "revisao_pendente": 0,
          "novidades": 0,
          "erros": 3,
          "duracao_segundos": 0.2,
          "endpoints": [
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
            "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
            "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
          ],
          "canais_detalhe": [
            {
              "canal": "atos do Jornal Oficial — série L (RSS oficial)",
              "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
              "itens_brutos": 100,
              "amostra_hierarquia": [],
              "itens_relevantes": 0
            }
          ],
          "canais_ok": [
            "atos do Jornal Oficial — série L (RSS oficial)"
          ],
          "canais_falhos": [
            "busca por tema (legislação do ano corrente)",
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "canais_falhos_obrigatorios": [
            "busca por tema (legislação do ano corrente)"
          ],
          "canais_opcionais_falhos": [
            "busca por tema (legislação do ano anterior)",
            "AI Act — versão consolidada (ato âncora)"
          ],
          "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
          "atos_registrados": 0,
          "atos_descartados_por_retencao": 0
        },
        "eurlex_motor": {
          "nome": "EUR-Lex — busca oficial (motor legislativo)",
          "status": "ok",
          "ultima_tentativa": "2026-09-21T07:45:40-03:00",
          "ultima_execucao_ok": "2026-09-21T07:45:40-03:00",
          "itens_consultados": 10,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 10,
          "falhas_http": 0,
          "endpoints": [
            "https://eur-lex.europa.eu/"
          ],
          "canais_ok": [
            "eurlex_motor:search.html"
          ],
          "canais_falhos": [],
          "erro_detalhe": null
        },
        "parlamento": {
          "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
          "status": "falha",
          "ultima_tentativa": "2026-09-21T07:45:40-03:00",
          "ultima_execucao_ok": null,
          "itens_consultados": 0,
          "novidades": 0,
          "erros": 0,
          "chamadas_http": 1,
          "falhas_http": 4,
          "endpoints": [
            "https://data.europarl.europa.eu/"
          ],
          "canais_ok": [
            "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
          ],
          "canais_falhos": [
            "parlamento:api/v2/procedures"
          ],
          "erro_detalhe": null
        }
      },
      "fontes_falha": [
        "ai_office",
        "edps",
        "eu_council",
        "eu_parliament",
        "parlamento"
      ],
      "fontes_parciais": [
        "eu_commission",
        "eurlex"
      ],
      "http_fontes": {
        "chamadas": 25,
        "falhas": 5,
        "cache": 0,
        "tempo_total": 6.05,
        "por_orgao": {
          "ai_office": {
            "chamadas": 5,
            "falhas": 0,
            "tempo_total": 0.83
          },
          "eurlex": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 0.21
          },
          "eu_council": {
            "chamadas": 3,
            "falhas": 3,
            "tempo_total": 0.5
          },
          "eu_commission": {
            "chamadas": 4,
            "falhas": 0,
            "tempo_total": 1.6
          },
          "eu_parliament": {
            "chamadas": 5,
            "falhas": 2,
            "tempo_total": 1.05
          },
          "edpb": {
            "chamadas": 1,
            "falhas": 0,
            "tempo_total": 0.79
          },
          "edps": {
            "chamadas": 3,
            "falhas": 0,
            "tempo_total": 1.07
          }
        }
      },
      "mudancas_multiorgao": 12
    },
    {
      "id": "bootstrap_ue_2026_09_18",
      "data_hora": "2026-09-18T10:00:00-03:00",
      "fim": "2026-09-18T10:00:00-03:00",
      "ts": "2026-09-18T13:00:00+00:00",
      "ts_fim": "2026-09-18T13:00:00+00:00",
      "idade_horas": 894.2,
      "tipo": "bootstrap",
      "status": "concluida",
      "duracao_segundos": null,
      "orcamento_segundos": null,
      "verificadas": 2,
      "monitoradas": 2,
      "pendentes": [],
      "atualizadas": 0,
      "novas": 0,
      "mudancas": 0,
      "eventos": 0,
      "cobertura_pct": 100.0,
      "erros": 0,
      "chamadas_http": null,
      "cache_http": null,
      "falhas_http": null,
      "tempo_rede_s": null,
      "por_endpoint": {},
      "fases_segundos": {},
      "snapshot": {},
      "fontes": 6,
      "engine": {},
      "status_global": null,
      "fontes_monitoradas": {},
      "fontes_falha": [],
      "fontes_parciais": [],
      "http_fontes": {},
      "mudancas_multiorgao": null
    }
  ],
  "ultima": {
    "id": "run_2026_10_25_1614",
    "data_hora": "2026-10-25T16:14:12-03:00",
    "fim": "2026-10-25T16:14:44-03:00",
    "ts": "2026-10-25T19:14:12+00:00",
    "ts_fim": "2026-10-25T19:14:44+00:00",
    "idade_horas": 0.0,
    "tipo": "atualizacao",
    "status": "parcial",
    "duracao_segundos": 32,
    "orcamento_segundos": 1500,
    "verificadas": 4,
    "monitoradas": 4,
    "pendentes": 0,
    "atualizadas": 4,
    "novas": 0,
    "mudancas": 0,
    "eventos": 0,
    "cobertura_pct": 100.0,
    "erros": 0,
    "chamadas_http": 17,
    "cache_http": 0,
    "falhas_http": 0,
    "tempo_rede_s": 20.98,
    "por_endpoint": {
      "comissao:info/law/better-regulation": {
        "chamadas": 2,
        "falhas": 0,
        "tempo_total": 0.66
      },
      "eurlex:search.html": {
        "chamadas": 10,
        "falhas": 0,
        "tempo_total": 0.72
      },
      "parlamento:api/v2/procedures": {
        "chamadas": 4,
        "falhas": 0,
        "tempo_total": 19.3
      },
      "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
        "chamadas": 1,
        "falhas": 0,
        "tempo_total": 0.3
      }
    },
    "fases_segundos": {
      "agenda_consultas": 1.3,
      "atualizacao_procedimentos": 7.4,
      "descoberta_procedimentos": 4.3,
      "fontes_multiorgao": 19.0
    },
    "snapshot": {
      "proposicoes_total": 4,
      "por_situacao": {
        "em_tramitacao": 4
      },
      "normas_total": 2,
      "eventos_total": 1,
      "mudancas_registradas": 166
    },
    "fontes": 4,
    "engine": {
      "orcamento_segundos": 1500,
      "max_novas": 25,
      "workers": 5,
      "http_concorrencia": 4
    },
    "status_global": "PARCIAL",
    "fontes_monitoradas": {
      "ai_office": {
        "nome": "European AI Office — Comissão Europeia (digital-strategy)",
        "status": "falha",
        "ultima_tentativa": "2026-10-25T16:14:26-03:00",
        "ultima_execucao_ok": null,
        "itens_consultados": 0,
        "itens_relevantes": 0,
        "itens_descartados": 0,
        "itens_duplicados": 0,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 6,
        "duracao_segundos": 0.3,
        "endpoints": [
          "https://digital-strategy.ec.europa.eu/en/news?type=5%7C13",
          "https://digital-strategy.ec.europa.eu/en/policies/ai-office",
          "https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai",
          "https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai",
          "https://digital-strategy.ec.europa.eu/en/ai-act"
        ],
        "canais_detalhe": [],
        "canais_ok": [],
        "canais_falhos": [
          "notícias e comunicados do portal",
          "página da AI Office (políticas e ações)",
          "AI Act — quadro regulatório e implementação",
          "General-Purpose AI — página oficial",
          "AI Act — página do serviço"
        ],
        "canais_falhos_obrigatorios": [
          "notícias e comunicados do portal"
        ],
        "canais_opcionais_falhos": [
          "página da AI Office (políticas e ações)",
          "AI Act — quadro regulatório e implementação",
          "General-Purpose AI — página oficial",
          "AI Act — página do serviço"
        ],
        "erro_detalhe": "notícias e comunicados do portal: HTML indisponível: https://digital-strategy.ec.europa.eu/en/news?type=5%7C13 (HTTP 403); página da AI Office (políticas e ações): HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/ai-office (HTTP 403); AI Act — quadro regulatório e implementação: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai (HTTP 403); General-Purpose AI — página oficial: HTML indisponível: https://digital-strategy.ec.europa.eu/en/policies/general-purpose-ai (HTTP 403)",
        "atos_registrados": 0,
        "atos_descartados_por_retencao": 0
      },
      "edpb": {
        "nome": "EDPB — European Data Protection Board",
        "status": "ok",
        "ultima_tentativa": "2026-10-25T16:14:43-03:00",
        "ultima_execucao_ok": "2026-10-25T16:14:44-03:00",
        "itens_consultados": 10,
        "itens_relevantes": 10,
        "itens_descartados": 0,
        "itens_duplicados": 0,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 0,
        "duracao_segundos": 0.7,
        "endpoints": [
          "https://www.edpb.europa.eu/feed/news_en"
        ],
        "canais_detalhe": [
          {
            "canal": "notícias e guidelines (RSS oficial)",
            "url": "https://www.edpb.europa.eu/feed/news_en",
            "itens_brutos": 10,
            "amostra_hierarquia": [],
            "itens_relevantes": 10
          }
        ],
        "canais_ok": [
          "notícias e guidelines (RSS oficial)"
        ],
        "canais_falhos": [],
        "canais_falhos_obrigatorios": [],
        "canais_opcionais_falhos": [],
        "erro_detalhe": null,
        "atos_registrados": 22,
        "atos_descartados_por_retencao": 0
      },
      "edps": {
        "nome": "EDPS — European Data Protection Supervisor",
        "status": "falha",
        "ultima_tentativa": "2026-10-25T16:14:43-03:00",
        "ultima_execucao_ok": null,
        "itens_consultados": 0,
        "itens_relevantes": 0,
        "itens_descartados": 0,
        "itens_duplicados": 0,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 4,
        "duracao_segundos": 1.1,
        "endpoints": [
          "https://www.edps.europa.eu/press-publications/press-news/press-releases_en",
          "https://www.edps.europa.eu/press-publications/press-news/news_en",
          "https://www.edps.europa.eu/data-protection/our-work/publications_en"
        ],
        "canais_detalhe": [],
        "canais_ok": [],
        "canais_falhos": [
          "press releases (listagem oficial)",
          "notícias oficiais (listagem)",
          "publicações (opiniões e guidelines)"
        ],
        "canais_falhos_obrigatorios": [
          "press releases (listagem oficial)"
        ],
        "canais_opcionais_falhos": [
          "notícias oficiais (listagem)",
          "publicações (opiniões e guidelines)"
        ],
        "erro_detalhe": "press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'; nenhum canal respondeu — press releases (listagem oficial): ModuleNotFoundError: No module named 'eu_parsers'; notícias oficiais (listagem): ModuleNotFoundError: No module named 'eu_parsers'; publicações (opiniões e guidelines): ModuleNotFoundError: No module named 'eu_parsers'",
        "atos_registrados": 0,
        "atos_descartados_por_retencao": 0
      },
      "eu_commission": {
        "nome": "Comissão Europeia — Press Corner e Have Your Say",
        "status": "parcial",
        "ultima_tentativa": "2026-10-25T16:14:27-03:00",
        "ultima_execucao_ok": null,
        "itens_consultados": 10,
        "itens_relevantes": 0,
        "itens_descartados": 10,
        "itens_duplicados": 0,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 3,
        "duracao_segundos": 1.6,
        "endpoints": [
          "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
          "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=1",
          "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?page=2",
          "https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives_en?keywords={topico}"
        ],
        "canais_detalhe": [
          {
            "canal": "comunicados oficiais (Press Corner, RSS)",
            "url": "https://ec.europa.eu/commission/presscorner/api/rss?language=en",
            "itens_brutos": 10,
            "amostra_hierarquia": [],
            "itens_relevantes": 0
          }
        ],
        "canais_ok": [
          "comunicados oficiais (Press Corner, RSS)"
        ],
        "canais_falhos": [
          "consultas públicas e calls for evidence (Have Your Say)",
          "consultas públicas (Have Your Say, página 2)",
          "consultas por tema (Have Your Say, keywords)"
        ],
        "canais_falhos_obrigatorios": [
          "consultas públicas e calls for evidence (Have Your Say)"
        ],
        "canais_opcionais_falhos": [
          "consultas públicas (Have Your Say, página 2)",
          "consultas por tema (Have Your Say, keywords)"
        ],
        "erro_detalhe": "consultas públicas e calls for evidence (Have Your Say): ModuleNotFoundError: No module named 'eu_parsers'; consultas públicas (Have Your Say, página 2): ModuleNotFoundError: No module named 'eu_parsers'; consultas por tema (Have Your Say, keywords): ModuleNotFoundError: No module named 'eu_parsers'",
        "atos_registrados": 27,
        "atos_descartados_por_retencao": 0
      },
      "eu_council": {
        "nome": "Conselho da UE — Registro público de documentos",
        "status": "falha",
        "ultima_tentativa": "2026-10-25T16:14:26-03:00",
        "ultima_execucao_ok": null,
        "itens_consultados": 0,
        "itens_relevantes": 0,
        "itens_descartados": 0,
        "itens_duplicados": 0,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 4,
        "duracao_segundos": 0.4,
        "endpoints": [
          "https://www.consilium.europa.eu/en/documents/public-register/latest/",
          "https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2",
          "https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/"
        ],
        "canais_detalhe": [],
        "canais_ok": [],
        "canais_falhos": [
          "últimos documentos adicionados ao registro",
          "últimos documentos (página 2)",
          "documentos legislativos preparatórios (página 1)"
        ],
        "canais_falhos_obrigatorios": [
          "últimos documentos adicionados ao registro"
        ],
        "canais_opcionais_falhos": [
          "últimos documentos (página 2)",
          "documentos legislativos preparatórios (página 1)"
        ],
        "erro_detalhe": "últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403); nenhum canal respondeu — últimos documentos adicionados ao registro: HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/ (HTTP 403); últimos documentos (página 2): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/latest/?page=2 (HTTP 403); documentos legislativos preparatórios (página 1): HTML indisponível: https://www.consilium.europa.eu/en/documents/public-register/preparatory-legislative-documents/ (HTTP 403)",
        "atos_registrados": 0,
        "atos_descartados_por_retencao": 0
      },
      "eu_parliament": {
        "nome": "Parlamento Europeu — Open Data Portal v2 / Legislative Train",
        "status": "falha",
        "ultima_tentativa": "2026-10-25T16:14:29-03:00",
        "ultima_execucao_ok": null,
        "itens_consultados": 0,
        "itens_relevantes": 0,
        "itens_descartados": 0,
        "itens_duplicados": 0,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 6,
        "duracao_segundos": 13.8,
        "endpoints": [
          "https://data.europarl.europa.eu/api/v2/procedures?parliamentary_term=10&limit=100&format=application/ld%2Bjson",
          "https://data.europarl.europa.eu/api/v2/procedures?text={topico}&limit=25&format=application/ld%2Bjson",
          "https://www.europarl.europa.eu/legislative-train/theme-a-europe-fit-for-the-digital-age",
          "https://www.europarl.europa.eu/legislative-train/file-artificial-intelligence-act",
          "https://www.europarl.europa.eu/news/en/press-room?keywords={topico}"
        ],
        "canais_detalhe": [],
        "canais_ok": [],
        "canais_falhos": [
          "API v2 — procedimentos do termo parlamentar corrente",
          "API v2 — procedimentos de IA (busca por texto)",
          "Legislative Train — Europe fit for the digital age",
          "Legislative Train — unicidade e poderes de execução",
          "sala de imprensa — por tema"
        ],
        "canais_falhos_obrigatorios": [
          "API v2 — procedimentos do termo parlamentar corrente"
        ],
        "canais_opcionais_falhos": [
          "API v2 — procedimentos de IA (busca por texto)",
          "Legislative Train — Europe fit for the digital age",
          "Legislative Train — unicidade e poderes de execução",
          "sala de imprensa — por tema"
        ],
        "erro_detalhe": "API v2 — procedimentos do termo parlamentar corrente: ModuleNotFoundError: No module named 'eu_parsers'; API v2 — procedimentos de IA (busca por texto): JSON indisponível: https://data.europarl.europa.eu/api/v2/procedures?text=artificial%20intelligence&limit=25&format=application/ld%2Bjson; Legislative Train — Europe fit for the digital age: ModuleNotFoundError: No module named 'eu_parsers'; Legislative Train — unicidade e poderes de execução: ModuleNotFoundError: No module named 'eu_parsers'",
        "atos_registrados": 0,
        "atos_descartados_por_retencao": 0
      },
      "eurlex": {
        "nome": "EUR-Lex — Jornal Oficial da União Europeia (Publications Office)",
        "status": "parcial",
        "ultima_tentativa": "2026-10-25T16:14:26-03:00",
        "ultima_execucao_ok": null,
        "itens_consultados": 100,
        "itens_relevantes": 0,
        "itens_descartados": 1,
        "itens_duplicados": 99,
        "revisao_pendente": 0,
        "novidades": 0,
        "erros": 3,
        "duracao_segundos": 0.4,
        "endpoints": [
          "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={year}",
          "https://eur-lex.europa.eu/search.html?text=%22{topico}%22&scope=EURLEX&type=quick&amount=25&page=1&DD_YEAR={prev_year}",
          "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
          "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02024R1689-20260727"
        ],
        "canais_detalhe": [
          {
            "canal": "atos do Jornal Oficial — série L (RSS oficial)",
            "url": "https://eur-lex.europa.eu/EN/display-feed.rss?rssId=222",
            "itens_brutos": 100,
            "amostra_hierarquia": [],
            "itens_relevantes": 0
          }
        ],
        "canais_ok": [
          "atos do Jornal Oficial — série L (RSS oficial)"
        ],
        "canais_falhos": [
          "busca por tema (legislação do ano corrente)",
          "busca por tema (legislação do ano anterior)",
          "AI Act — versão consolidada (ato âncora)"
        ],
        "canais_falhos_obrigatorios": [
          "busca por tema (legislação do ano corrente)"
        ],
        "canais_opcionais_falhos": [
          "busca por tema (legislação do ano anterior)",
          "AI Act — versão consolidada (ato âncora)"
        ],
        "erro_detalhe": "busca por tema (legislação do ano corrente): ModuleNotFoundError: No module named 'eu_parsers'; busca por tema (legislação do ano anterior): ModuleNotFoundError: No module named 'eu_parsers'; AI Act — versão consolidada (ato âncora): ModuleNotFoundError: No module named 'eu_parsers'",
        "atos_registrados": 0,
        "atos_descartados_por_retencao": 0
      },
      "eurlex_motor": {
        "nome": "EUR-Lex — busca oficial (motor legislativo)",
        "status": "ok",
        "ultima_tentativa": "2026-10-25T16:14:12-03:00",
        "ultima_execucao_ok": "2026-10-25T16:14:12-03:00",
        "itens_consultados": 10,
        "novidades": 0,
        "erros": 0,
        "chamadas_http": 10,
        "falhas_http": 0,
        "endpoints": [
          "https://eur-lex.europa.eu/"
        ],
        "canais_ok": [
          "eurlex_motor:search.html"
        ],
        "canais_falhos": [],
        "erro_detalhe": null
      },
      "parlamento": {
        "nome": "Parlamento Europeu — Open Data Portal v2 (motor legislativo)",
        "status": "ok",
        "ultima_tentativa": "2026-10-25T16:14:12-03:00",
        "ultima_execucao_ok": "2026-10-25T16:14:12-03:00",
        "itens_consultados": 4,
        "novidades": 0,
        "erros": 0,
        "chamadas_http": 5,
        "falhas_http": 0,
        "endpoints": [
          "https://data.europarl.europa.eu/"
        ],
        "canais_ok": [
          "parlamento:api/v2/procedures",
          "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age"
        ],
        "canais_falhos": [],
        "erro_detalhe": null
      }
    },
    "fontes_falha": [
      "ai_office",
      "edps",
      "eu_council",
      "eu_parliament"
    ],
    "fontes_parciais": [
      "eu_commission",
      "eurlex"
    ],
    "http_fontes": {
      "chamadas": 29,
      "falhas": 13,
      "cache": 0,
      "tempo_total": 9.34,
      "por_orgao": {
        "ai_office": {
          "chamadas": 5,
          "falhas": 5,
          "tempo_total": 0.29
        },
        "eurlex": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 0.42
        },
        "eu_council": {
          "chamadas": 3,
          "falhas": 3,
          "tempo_total": 0.38
        },
        "eu_commission": {
          "chamadas": 4,
          "falhas": 0,
          "tempo_total": 1.61
        },
        "eu_parliament": {
          "chamadas": 9,
          "falhas": 5,
          "tempo_total": 4.8
        },
        "edpb": {
          "chamadas": 1,
          "falhas": 0,
          "tempo_total": 0.72
        },
        "edps": {
          "chamadas": 3,
          "falhas": 0,
          "tempo_total": 1.12
        }
      }
    },
    "mudancas_multiorgao": 0
  },
  "frescor": {
    "horas": 0.0,
    "estado": "ok",
    "cron_utc": "10:17, 13:43, 17:43, 21:43",
    "cron_brt": "07:17, 10:43, 14:43, 18:43"
  },
  "kpis": {
    "execucoes_registradas": 104,
    "execucoes_com_metricas": 104,
    "execucoes_ok": 104,
    "cobertura_media": 97.4,
    "mudancas_total": 166,
    "mudancas_30d": 39,
    "latencia_media_dias": 2.5,
    "incorporacoes_historicas": 109,
    "fontes_monitoradas": 9,
    "fontes_falha": 4,
    "fontes_parciais": 2,
    "status_global": "PARCIAL",
    "procedimentos": 4,
    "proposicoes": 4,
    "curadoria_pendente": 3,
    "normas": 2,
    "eventos_futuros": 1
  },
  "series": {
    "rotulos": [
      "09/18",
      "09/21",
      "09/21",
      "09/21",
      "09/22",
      "09/22",
      "09/22",
      "09/23",
      "09/23",
      "09/23",
      "09/24",
      "09/24",
      "09/24",
      "09/25",
      "09/25",
      "09/25",
      "09/26",
      "09/26",
      "09/26",
      "09/27",
      "09/27",
      "09/27",
      "09/28",
      "09/28",
      "09/29",
      "09/29",
      "09/29",
      "09/30",
      "09/30",
      "09/30",
      "10/01",
      "10/01",
      "10/01",
      "10/02",
      "10/02",
      "10/02",
      "10/03",
      "10/03",
      "10/03",
      "10/04",
      "10/04",
      "10/04",
      "10/05",
      "10/05",
      "10/06",
      "10/06",
      "10/06",
      "10/07",
      "10/07",
      "10/07",
      "10/08",
      "10/08",
      "10/08",
      "10/09",
      "10/09",
      "10/09",
      "10/10",
      "10/10",
      "10/10",
      "10/11",
      "10/11",
      "10/11",
      "10/12",
      "10/12",
      "10/13",
      "10/13",
      "10/13",
      "10/14",
      "10/14",
      "10/14",
      "10/15",
      "10/15",
      "10/15",
      "10/16",
      "10/16",
      "10/16",
      "10/17",
      "10/17",
      "10/17",
      "10/17",
      "10/18",
      "10/18",
      "10/18",
      "10/19",
      "10/19",
      "10/19",
      "10/20",
      "10/20",
      "10/20",
      "10/21",
      "10/21",
      "10/21",
      "10/22",
      "10/22",
      "10/22",
      "10/23",
      "10/23",
      "10/23",
      "10/24",
      "10/24",
      "10/24",
      "10/25",
      "10/25",
      "10/25"
    ],
    "cobertura_pct": [
      100.0,
      0.0,
      100.0,
      50.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      50.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      25.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0,
      100.0
    ],
    "mudancas": [
      0,
      0,
      4,
      2,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    "novas": [
      0,
      0,
      0,
      2,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    "chamadas_http": [
      17,
      15,
      17,
      17,
      17,
      17,
      19,
      17,
      19,
      17,
      17,
      17,
      17,
      17,
      17,
      21,
      17,
      17,
      17,
      17,
      19,
      18,
      17,
      17,
      17,
      17,
      17,
      18,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      18,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      19,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17,
      17
    ],
    "cache_http": [
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    "duracao_s": [
      54,
      27,
      38,
      26,
      15,
      34,
      52,
      16,
      35,
      38,
      24,
      35,
      106,
      30,
      28,
      60,
      25,
      23,
      33,
      44,
      33,
      43,
      26,
      22,
      28,
      43,
      22,
      42,
      20,
      23,
      24,
      19,
      22,
      20,
      26,
      21,
      23,
      43,
      21,
      21,
      21,
      24,
      40,
      25,
      84,
      53,
      23,
      29,
      50,
      29,
      42,
      40,
      28,
      55,
      40,
      36,
      59,
      47,
      42,
      35,
      36,
      34,
      22,
      20,
      33,
      30,
      32,
      40,
      21,
      19,
      18,
      27,
      34,
      27,
      47,
      21,
      23,
      21,
      21,
      42,
      19,
      38,
      21,
      44,
      43,
      40,
      24,
      23,
      19,
      43,
      29,
      20,
      29,
      21,
      22,
      24,
      31,
      29,
      25,
      50,
      31,
      23,
      32
    ],
    "monitoradas": [
      2,
      2,
      2,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4
    ]
  },
  "dataset": {
    "por_status": {
      "em_tramitacao": 4
    },
    "por_casa": {
      "Comissão Europeia": 1,
      "Parlamento Europeu": 3
    },
    "por_ano": {
      "2021": 1,
      "2025": 3
    },
    "por_faixa_score": {
      "75–89": 1,
      "0–39": 3
    },
    "por_categoria": {
      "Regulação de IA (quadro geral)": 1,
      "Direitos fundamentais e não discriminação": 1,
      "Dados pessoais e privacidade": 1,
      "Sistemas de alto risco": 1,
      "Modelos de uso geral (GPAI)": 2,
      "Direitos de autor e conteúdo": 1,
      "Transparência e rotulagem de conteúdo": 1
    },
    "revisao_pendente": 3
  },
  "mudancas": {
    "total": 166,
    "por_tipo": {
      "novo comunicado oficial": 25,
      "enforcement": 15,
      "nova orientação oficial": 3,
      "alteração de texto": 111,
      "adoção/publicação": 2,
      "nova guideline": 4,
      "atualização cadastral": 2,
      "votação": 2,
      "novo procedimento": 2
    },
    "por_mes": {
      "2026-10": 34,
      "2026-09": 23,
      "2026-07": 105,
      "2026-03": 2,
      "2025-03": 2
    },
    "por_dia": {
      "2026-10-22": 1,
      "2026-10-21": 2,
      "2026-10-19": 1,
      "2026-10-18": 1,
      "2026-10-16": 1,
      "2026-10-15": 2,
      "2026-10-14": 1,
      "2026-10-13": 4,
      "2026-10-12": 4,
      "2026-10-09": 6,
      "2026-10-08": 7,
      "2026-10-05": 1,
      "2026-10-01": 3,
      "2026-09-30": 1,
      "2026-09-29": 3,
      "2026-09-28": 1,
      "2026-09-24": 1,
      "2026-09-23": 2,
      "2026-09-22": 2,
      "2026-09-21": 7,
      "2026-09-20": 1,
      "2026-09-11": 2,
      "2026-09-09": 2,
      "2026-09-03": 1,
      "2026-07-30": 51,
      "2026-07-23": 50,
      "2026-07-17": 1,
      "2026-07-14": 1,
      "2026-07-08": 1,
      "2026-07-01": 1,
      "2026-03-10": 2,
      "2025-03-13": 2
    },
    "latencia_media_dias": 2.5,
    "incorporacoes_historicas": 109
  },
  "http_por_endpoint": {
    "comissao:info/law/better-regulation": {
      "chamadas": 2,
      "falhas": 0,
      "tempo_total": 0.66
    },
    "eurlex:search.html": {
      "chamadas": 10,
      "falhas": 0,
      "tempo_total": 0.72
    },
    "parlamento:api/v2/procedures": {
      "chamadas": 4,
      "falhas": 0,
      "tempo_total": 19.3
    },
    "parlamento:legislative-train/theme-a-europe-fit-for-the-digital-age": {
      "chamadas": 1,
      "falhas": 0,
      "tempo_total": 0.3
    }
  },
  "alertas": [
    {
      "nivel": "ok",
      "titulo": "Monitoramento em dia",
      "detalhe": "Última execução há 0h."
    },
    {
      "nivel": "atencao",
      "titulo": "Última execução foi parcial",
      "detalhe": "0 proposição(ões) ficaram para a próxima execução (cobertura 100.0%)."
    },
    {
      "nivel": "atencao",
      "titulo": "Monitoramento parcial — fonte não consultada",
      "detalhe": "Fontes com falha nesta execução: ai_office (European AI Office — Comissão Europeia (digital-strategy)), edps (EDPS — European Data Protection Supervisor), eu_council (Conselho da UE — Registro público de documentos), eu_parliament (Parlamento Europeu — Open Data Portal v2 / Legislative Train)"
    },
    {
      "nivel": "atencao",
      "titulo": "3 proposições aguardam curadoria",
      "detalhe": "Registros automáticos têm score preliminar e categorias incompletas."
    }
  ]
}
