# Quickstart & Validation Guide: Classificação e Roteamento de Mídia **Feature**: `007-media-article-routing` **Date**: 2026-08-24 **Status**: Completed --- ## 1. Configuração de Variáveis de Ambiente (Configuração Externa) As credenciais e endpoints dos provedores devem ser configurados no ambiente de execução: ```bash # Provedor Primário (Ollama Local) OLLAMA_ENDPOINT="http://localhost:11434" OLLAMA_MODEL="qwen3.5:2b" OLLAMA_TIMEOUT="10" # 1º Fallback (Groq) GROQ_ENDPOINT="https://api.groq.com/openai/v1/chat/completions" GROQ_API_KEY="gsk_..." GROQ_MODEL="openai/gpt-oss-20b" GROQ_TIMEOUT="15" # 2º Fallback (OmniRoute) OMNIROUTE_ENDPOINT="https:///v1/chat/completions" OMNIROUTE_API_KEY="omni_..." OMNIROUTE_MODEL="cgpt-web/gpt-5.5" OMNIROUTE_TIMEOUT="20" ``` --- ## 2. Execução dos Testes Automatizados (CI) A suíte de testes executa 100% offline em ambiente de CI via simulações controladas: ```bash # Executar testes unitários e de integração da feature pytest tests/unit/test_media_classifier.py tests/integration/test_media_routing.py -v # Validar conformidade com a política Zero-Regex python tests/scripts/check_zero_regex.py ``` --- ## 3. Cenários de Validação Manual / E2E ### Cenário 1: Execução Padrão com Arquivo de Notícias ```bash python scripts/extract_article_contents.py -i out/river_plate.json ``` **Resultados esperados**: - `out/river_plate_extracted.json` gerado contendo artigos textuais e contadores atualizados; - `out/river_plate_media.json` gerado contendo o envelope `{ "articles": [ ... ] }` com as mídias identificadas (ou `{"articles": []}` caso nenhuma mídia seja classificada no lote); - Logs no stderr exibindo as 11 métricas operacionais obrigatórias. ### Cenário 2: Execução com Caminho de Saída Customizado (`-o/--output`) ```bash python scripts/extract_article_contents.py \ -i out/river_plate.json \ -o out/processados/resultado_custom.json \ -l 5 ``` **Resultados esperados**: - Saída textual em `out/processados/resultado_custom.json`; - Saída de mídia em `out/processados/resultado_custom_media.json` (gerado obrigatoriamente, contendo as mídias ou `{"articles": []}`).