{"channels": ["canal-2", "canal-4", "canal-7", "canal-8", "canal-9", "canal-13"], "channel_labels": {"canal-2": "canal-2", "canal-4": "canal-4", "canal-7": "canal-7", "canal-8": "canal-8", "canal-9": "canal-9", "canal-13": "canal-13"}, "duration_profiles": ["short_60s", "short_3min", "standard_8min", "mid_15min", "long_30min", "deep_50min", "custom"], "execution_modes": ["mock", "dry_run", "real"], "narration_voice_options": ["female", "male"], "toggle_keys": ["allow_paid_ai_calls", "enable_thumbnail_reference_fetch", "enable_real_thumbnail", "force_thumbnail_ai_base_generation", "enable_real_render", "enable_burned_subtitles", "enable_image_zoom", "enable_real_upload", "youtube_upload_allowed"], "agents": [{"id": "agent_00_channel_dna", "index": 0, "label": "00", "name": "Channel DNA", "shortName": "DNA", "description": "Resolve canal, nicho, idioma e identidade operacional.", "contracts": ["channel_dna.json"], "report": "agent_00_channel_dna.md", "group": "Estratégia"}, {"id": "agent_01_research_strategy", "index": 1, "label": "01", "name": "Trending Intelligence", "shortName": "Tendências", "description": "Benchmark, candidatos, trend score e estratégia do tema.", "contracts": ["trending_intelligence.json", "topic_strategy.json"], "report": "agent_01_research_strategy.md", "group": "Estratégia"}, {"id": "agent_02_title_thumbnail_concept", "index": 2, "label": "02", "name": "Título & Conceito", "shortName": "Conceito", "description": "Título, promessa, ângulo e conceito inicial de thumbnail.", "contracts": ["title_thumbnail_concept.json"], "report": "agent_02_title_thumbnail_concept.md", "group": "Estratégia"}, {"id": "agent_03_script_writer", "index": 3, "label": "03", "name": "Roteiro", "shortName": "Roteiro", "description": "Gera roteiro real com duration_profile e budget guard.", "contracts": ["script_package.json"], "report": "agent_03_script_writer.md", "group": "Conteúdo"}, {"id": "agent_04_creative_qa", "index": 4, "label": "04", "name": "QA Criativo", "shortName": "QA", "description": "Valida novidade, promessa, estrutura e riscos criativos.", "contracts": ["creative_qa_report.json"], "report": "agent_04_creative_qa.md", "group": "Conteúdo"}, {"id": "agent_05_voice_timing", "index": 5, "label": "05", "name": "Voz & Timing", "shortName": "Voz", "description": "Gera áudio, legendas e timing_map.", "contracts": ["timing_map.json"], "report": "agent_05_voice_timing.md", "group": "Produção"}, {"id": "agent_06_visual_director", "index": 6, "label": "06", "name": "Direção Visual", "shortName": "Visual", "description": "Gera plano visual por seção/shot.", "contracts": ["visual_plan.json"], "report": "agent_06_visual_director.md", "group": "Produção"}, {"id": "agent_07_asset_generator", "index": 7, "label": "07", "name": "Assets", "shortName": "Assets", "description": "Seleciona imagens locais/free-only e asset_manifest.", "contracts": ["asset_manifest.json"], "report": "agent_07_asset_generator.md", "group": "Produção"}, {"id": "agent_08_thumbnail_lab", "index": 8, "label": "08", "name": "Thumbnail Lab", "shortName": "Thumb", "description": "Gera thumbnail_package, thumbnails A/B/C e quality gates.", "contracts": ["thumbnail_package.json"], "report": "agent_08_thumbnail_lab.md", "group": "Produção"}, {"id": "agent_09_video_renderer", "index": 9, "label": "09", "name": "Render", "shortName": "Render", "description": "Renderiza vídeo final, legendas queimadas e motion.", "contracts": ["render_report.json"], "report": "agent_09_video_renderer.md", "group": "Render"}, {"id": "agent_10_publish_manager", "index": 10, "label": "10", "name": "Publicação", "shortName": "Publish", "description": "Gera publish_report, pre-publish check e upload real com trava dupla.", "contracts": ["publish_report.json"], "report": "agent_10_publish_manager.md", "group": "Publicação"}, {"id": "agent_11_learning", "index": 11, "label": "11", "name": "Learning", "shortName": "Learning", "description": "Pré-produção: analytics dos próprios vídeos + inteligência competitiva fresca (roda primeiro).", "contracts": ["weekly_learning.json"], "report": "agent_11_analytics_learning.md", "group": "Aprendizado"}], "defaults": {"channel_slug": "canal-2", "duration_profile": "short_60s", "target_minutes": 8, "execution_mode": "mock", "narration_voice_gender": "female", "allow_paid_ai_calls": false, "enable_thumbnail_reference_fetch": false, "enable_real_thumbnail": false, "force_thumbnail_ai_base_generation": false, "enable_real_render": false, "enable_burned_subtitles": true, "enable_image_zoom": false, "enable_real_upload": false, "youtube_upload_allowed": false}, "server_health": {"ok": true, "time": "2026-06-04T00:19:34.902525+00:00"}, "youtube_quota": {"limit": 6, "used_today": 0, "remaining_today": 6, "window_start_utc": "2026-06-03T07:00:00+00:00", "reset_at_utc": "2026-06-04T07:00:00+00:00", "seconds_to_reset": 24025, "reset_timezone": "America/Los_Angeles"}, "latest_by_channel": {"canal-2": {"run_id": "canal-2__2026-06-04__000611_v2", "run_name": "000611_v2", "channel_slug": "canal-2", "run_date": "2026-06-04", "run_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2", "status": "success", "execution_mode": "dry_run", "duration_profile": "short_60s", "target_minutes": null, "created_at": "2026-06-04T00:06:13.970083+00:00", "estimated_cost_usd": 0.000441, "paid_calls_allowed": true, "agents": [{"id": "agent_00_channel_dna", "index": 0, "label": "00", "name": "Channel DNA", "shortName": "DNA", "description": "Resolve canal, nicho, idioma e identidade operacional.", "contracts": ["channel_dna.json"], "report": "agent_00_channel_dna.md", "group": "Estratégia", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/channel_dna.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_00_channel_dna.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_00", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:13.970083+00:00", "ended_at": "2026-06-04T00:06:14.260356+00:00", "duration_seconds": 0.290273}, {"id": "agent_01_research_strategy", "index": 1, "label": "01", "name": "Trending Intelligence", "shortName": "Tendências", "description": "Benchmark, candidatos, trend score e estratégia do tema.", "contracts": ["trending_intelligence.json", "topic_strategy.json"], "report": "agent_01_research_strategy.md", "group": "Estratégia", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/trending_intelligence.json", "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/topic_strategy.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_01_research_strategy.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_01", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:14.260356+00:00", "ended_at": "2026-06-04T00:06:14.527584+00:00", "duration_seconds": 0.267228}, {"id": "agent_02_title_thumbnail_concept", "index": 2, "label": "02", "name": "Título & Conceito", "shortName": "Conceito", "description": "Título, promessa, ângulo e conceito inicial de thumbnail.", "contracts": ["title_thumbnail_concept.json"], "report": "agent_02_title_thumbnail_concept.md", "group": "Estratégia", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/title_thumbnail_concept.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_02_title_thumbnail_concept.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_02", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:14.527584+00:00", "ended_at": "2026-06-04T00:06:14.781430+00:00", "duration_seconds": 0.253846}, {"id": "agent_03_script_writer", "index": 3, "label": "03", "name": "Roteiro", "shortName": "Roteiro", "description": "Gera roteiro real com duration_profile e budget guard.", "contracts": ["script_package.json"], "report": "agent_03_script_writer.md", "group": "Conteúdo", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/script_package.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_03_script_writer.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_03", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:14.781430+00:00", "ended_at": "2026-06-04T00:06:23.361425+00:00", "duration_seconds": 8.579995}, {"id": "agent_04_creative_qa", "index": 4, "label": "04", "name": "QA Criativo", "shortName": "QA", "description": "Valida novidade, promessa, estrutura e riscos criativos.", "contracts": ["creative_qa_report.json"], "report": "agent_04_creative_qa.md", "group": "Conteúdo", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/creative_qa_report.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_04_creative_qa.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_04", "warnings": ["Duração provável 1.12 min, alvo é 30-45 min.", "Referências de concorrentes insuficientes no idioma do canal — thumbnail/empacotamento podem ficar mais genéricos (sem mistura de idioma)."], "blocking_errors": [], "started_at": "2026-06-04T00:06:23.361425+00:00", "ended_at": "2026-06-04T00:06:23.660365+00:00", "duration_seconds": 0.29894}, {"id": "agent_05_voice_timing", "index": 5, "label": "05", "name": "Voz & Timing", "shortName": "Voz", "description": "Gera áudio, legendas e timing_map.", "contracts": ["timing_map.json"], "report": "agent_05_voice_timing.md", "group": "Produção", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/timing_map.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_05_voice_timing.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_05", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:23.660365+00:00", "ended_at": "2026-06-04T00:06:27.279465+00:00", "duration_seconds": 3.6191}, {"id": "agent_06_visual_director", "index": 6, "label": "06", "name": "Direção Visual", "shortName": "Visual", "description": "Gera plano visual por seção/shot.", "contracts": ["visual_plan.json"], "report": "agent_06_visual_director.md", "group": "Produção", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/visual_plan.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_06_visual_director.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_06", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:27.279465+00:00", "ended_at": "2026-06-04T00:06:27.542759+00:00", "duration_seconds": 0.263294}, {"id": "agent_07_asset_generator", "index": 7, "label": "07", "name": "Assets", "shortName": "Assets", "description": "Seleciona imagens locais/free-only e asset_manifest.", "contracts": ["asset_manifest.json"], "report": "agent_07_asset_generator.md", "group": "Produção", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/asset_manifest.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_07_asset_generator.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_07", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:27.542759+00:00", "ended_at": "2026-06-04T00:06:28.337710+00:00", "duration_seconds": 0.794951}, {"id": "agent_08_thumbnail_lab", "index": 8, "label": "08", "name": "Thumbnail Lab", "shortName": "Thumb", "description": "Gera thumbnail_package, thumbnails A/B/C e quality gates.", "contracts": ["thumbnail_package.json"], "report": "agent_08_thumbnail_lab.md", "group": "Produção", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/thumbnail_package.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_08_thumbnail_lab.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_08", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:28.337710+00:00", "ended_at": "2026-06-04T00:06:59.070787+00:00", "duration_seconds": 30.733077}, {"id": "agent_09_video_renderer", "index": 9, "label": "09", "name": "Render", "shortName": "Render", "description": "Renderiza vídeo final, legendas queimadas e motion.", "contracts": ["render_report.json"], "report": "agent_09_video_renderer.md", "group": "Render", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/render_report.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_09_video_renderer.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_09", "warnings": ["unique_assets_below_target:7<12"], "blocking_errors": [], "started_at": "2026-06-04T00:06:59.070787+00:00", "ended_at": "2026-06-04T00:07:58.330204+00:00", "duration_seconds": 59.259417}, {"id": "agent_10_publish_manager", "index": 10, "label": "10", "name": "Publicação", "shortName": "Publish", "description": "Gera publish_report, pre-publish check e upload real com trava dupla.", "contracts": ["publish_report.json"], "report": "agent_10_publish_manager.md", "group": "Publicação", "status": "skipped", "contracts_found": [], "report_path": "", "log_dir": "", "warnings": ["optional_agent_skipped_by_execution_mode"], "blocking_errors": [], "started_at": null, "ended_at": null, "duration_seconds": null}, {"id": "agent_11_learning", "index": 11, "label": "11", "name": "Learning", "shortName": "Learning", "description": "Pré-produção: analytics dos próprios vídeos + inteligência competitiva fresca (roda primeiro).", "contracts": ["weekly_learning.json"], "report": "agent_11_analytics_learning.md", "group": "Aprendizado", "status": "success", "contracts_found": ["/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts/weekly_learning.json"], "report_path": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports/agent_11_analytics_learning.md", "log_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs/agent_11", "warnings": [], "blocking_errors": [], "started_at": "2026-06-04T00:06:12.184311+00:00", "ended_at": "2026-06-04T00:06:13.968329+00:00", "duration_seconds": 1.784018}], "quality_gates": {"trending_intelligence": "pass", "thumbnail_quality_gate": "pass", "render_guard": "pass", "pre_publish_check": "warning", "cost_guard": "warning", "upload_guard": "pass"}, "pre_publish_readiness": {"video_ok": false, "audio_ok": true, "subtitles_ok": false, "thumbnail_ok": false, "metadata_ok": false, "upload_allowed": false, "ready_for_upload": false}, "warnings": [], "warning_summary": [], "blocking_errors": [], "current_blocker": "", "primary_blocking_agent": "", "blocking_reason": "", "artifact_counts": {"total": 14, "video": 1, "audio": 1, "subtitle": 2, "image": 8, "json": 0, "other": 2}, "readiness_summary": {"assets_ok_count": 1, "assets_total": 5, "metadata_placeholder_used": false, "upload_allowed": false, "ready_for_upload": false}, "publish_safety_summary": {"quota_remaining": 6, "quota_limit": 6, "confirmation_required": true, "confirmation_phrase": "CONFIRMAR_PUBLICACAO", "can_publish": false, "can_publish_reason": "upload_not_allowed", "metadata_placeholder_used": false}, "can_publish": false, "can_publish_reason": "upload_not_allowed", "last_event_at": "2026-06-04T00:07:58.485206+00:00", "title": "", "paths": {"contracts_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/contracts", "reports_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/reports", "artifacts_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/artifacts", "logs_dir": "/opt/fluxodark/runs/canal-2/2026-06-04/000611_v2/logs"}}, "canal-4": null, "canal-7": null, "canal-8": null, "canal-9": null, "canal-13": null}}