executar_scanner.py: nos dois pontos que processavam clipe-a-clipe (análise visual e transcrição), o except genérico escondia bugs de programação junto com falhas esperadas de mídia/dependência — foi assim que o bug do soundfile ausente passou despercebido até um teste manual. Agora captura só (OSError, RuntimeError, ValueError, json.JSONDecodeError) na visual e (ImportError, OSError, RuntimeError, ValueError) na transcrição; erros de programação propagam e aparecem de verdade. executar_retakes.py e gerar_relatorio_de_analises.py: o except Exception no main() é uma fronteira de processo legítima (traduz qualquer falha em JSON pra tela), mantido, mas agora imprime o traceback completo no stderr antes de reportar — hoje esse traceback se perdia, sobrando só str(erro). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Engine
Núcleo Python orientado a objetos para o fluxo de scanner.
from engine import Scanner
from engine.domain import Content
result = Scanner().scan(Content("asset-1", " texto "))
assert result.valid
As integrações reais devem implementar os protocolos em content_analyzer.py, decision_engine.py, edit_plan.py, plan_applicator.py, validator.py e persistence.py. O pacote não cria dependências externas por padrão.