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>
Confirmado por teste real (executar_scanner.py rodado direto, fora do painel,
com dados reais da sequência ativa) que a aba Scanner já cobre transcrição +
diarização + métricas de voz e persiste tudo em .jhonny/analises.db de forma
consolidada e idempotente. As funções silenceTranscribe, silenceDiarizeSpeakers,
silenceComputeVoiceFeatures e o orquestrador silenceRunAutomaticEnrichments em
main.js, e os controles correspondentes no index.html (botão "Transcrever" e
a seção "Revisar falantes e áudio"), ficam comentados em vez de removidos, a
pedido do usuário. renderSpeakerConfiguration e as demais funções de falante
compartilhadas com a aba Refinar permanecem ativas.
Adiciona checagem defensiva (elemento pode não existir mais no DOM) nos pontos
de main.js que ainda tocam btnDiarize/btnVoiceFeatures/silenceCacheInfo pelo
caminho ativo (silenceLoadScannerAnalysis e reaproveitamento de transcrição
salva), para não quebrar esses fluxos.
Corrige dependência ausente (soundfile) descoberta durante o teste, que
derrubava silenciosamente a diarização e a detecção de emoção locais, e
documenta em code/engine/requirements-audio.txt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Remove a cópia zipada/extraída redundante do premiere-pro-mcp em bm/, os
scripts e schema do RAG de outro sistema (Tigre) que foram parar aqui por
engano, os backups manuais .prev do cep-plugin já superados pelo git, um
arquivo solto ":memory:.ses" e pastas vazias sem uso em code/engine
(domain, skills, dominio/objetos_de_valor, scanner/modelos,
scanner/contratos, integracoes/premiere/contratos).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- adicionado atalho para abrir a pasta e copiar o caminho do J-SOM gerado
- criada a tela Refinar para identificar falantes e ouvir seus trechos de áudio
Resumo:
- 3 arquivos alterados
- 0 novos
- 3 modificados
- 0 removidos
3 files changed, 145 insertions(+), 15 deletions(-)
Arquivos:
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/cep-plugin/styles.css
- corrigido o carregamento do extrator de áudio no complemento de identificação de locutores do Scanner.
- corrigida a descoberta da timeline ativa no painel CEP com fallback compatível entre versões do Premiere
Resumo:
- 5 arquivos alterados
- 0 novos
- 3 modificados
- 2 removidos
5 files changed, 23 insertions(+), 2 deletions(-)
Arquivos:
- .jhonny/analises.db-shm
- .jhonny/analises.db-wal
- code/cep-plugin/main.js
- code/engine/executar_scanner.py
- code/engine/testes/test_executar_scanner.py
- removido o tamanho do modelo do seletor da tela Editar vídeo
- acelerada a transcrição do Scanner com inferência Whisper em lote e cache de hashes
- garantido um resultado separado para cada clipe de áudio selecionado no Scanner
- adicionado cancelamento do processamento do Scanner pela barra de progresso
- exibido estado visual próprio para Scanner cancelado na barra de progresso
- criado modo explícito de análise do Scanner para separar som, imagem ou ambos
- adicionadas métricas opcionais de fala ao Scanner com análise acústica na engine
- corrigido o progresso da transcrição do Scanner durante o processamento do Whisper
- refatorado o runner Swift do Apple Vision para executar requests em lote com retry CPU-only, corrigindo falhas de CVPixelBuffer/ANE/OCR
- documentado o fluxo de edição de vídeo por voz integrado ao Scanner, banco e engine
- formalizado o protocolo de edição por chat com perfil editorial e consultas progressivas
- gerado plano JSON de corte para depoimento vertical da Erika no Instagram
- esquematizado o fluxo de colar e executar planos da IA pela engine após o Scanner
- ajustado o plano para manter somente as três etapas existentes da tela de edição
- adicionado processamento incremental de locutores e métricas no Scanner com confirmação de reprocessamento
- implementado o plano JSON colado na tela e a persistência idempotente das análises do Scanner
Resumo:
- 8 arquivos alterados
- 1 novos
- 7 modificados
- 0 removidos
7 files changed, 437 insertions(+), 55 deletions(-)
Arquivos:
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/cep-plugin/styles.css
- code/engine/executar_scanner.py
- code/engine/persistencia/repositorio_de_analises_sqlite.py
- code/engine/testes/test_persistencia_sqlite.py
- docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md
- code/relatorios/plano-edicao-depoimento-erika-instagram.json
- adicionadas métricas opcionais de fala ao Scanner com análise acústica na engine
- corrigido o progresso da transcrição do Scanner durante o processamento do Whisper
- refatorado o runner Swift do Apple Vision para executar requests em lote com retry CPU-only, corrigindo falhas de CVPixelBuffer/ANE/OCR
- documentado o fluxo de edição de vídeo por voz integrado ao Scanner, banco e engine
- formalizado o protocolo de edição por chat com perfil editorial e consultas progressivas
Resumo:
- 10 arquivos alterados
- 5 novos
- 5 modificados
- 0 removidos
5 files changed, 367 insertions(+), 95 deletions(-)
Arquivos:
- .jhonny/analises.db
- code/engine/executar_scanner.py
- code/engine/integracoes/visual/apple_vision_runner.swift
- code/engine/integracoes/whisper/provider_de_transcricao_local.py
- code/engine/testes/test_provider_de_transcricao_local.py
- .jhonny/analises.db-shm
- .jhonny/analises.db-wal
- apple_vision_runner
- code/relatorios/teste-enquadramento-20s.json
- docs/
- removido o tamanho do modelo do seletor da tela Editar vídeo
- acelerada a transcrição do Scanner com inferência Whisper em lote e cache de hashes
- garantido um resultado separado para cada clipe de áudio selecionado no Scanner
- adicionado cancelamento do processamento do Scanner pela barra de progresso
- exibido estado visual próprio para Scanner cancelado na barra de progresso
- reorganizada a tela Scanner em blocos separados de imagem e som
Resumo:
- 7 arquivos alterados
- 1 novos
- 6 modificados
- 0 removidos
6 files changed, 92 insertions(+), 40 deletions(-)
Arquivos:
- .jhonny/analises.db
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/cep-plugin/styles.css
- code/engine/integracoes/whisper/provider_de_transcricao_local.py
- code/engine/scanner/transcricao_da_timeline.py
- code/engine/testes/test_provider_de_transcricao_local.py
- alinhada a remoção da engine Python ao fluxo ripple do executor CEP para cortar vídeo e áudio
- criada remoção atômica para manter vídeo e áudio vinculados sincronizados
- criada aba de configuração de legendas offline e inclusão das preferências no pacote para a IA
- criado gerador offline de blocos de legenda sincronizados com palavras da transcrição e cortes aprovados
- criada uma versão base portátil da skill edit-video-by-voice para testes em outros agentes de IA
- incorporado perfil editorial opcional à skill portátil para orientar decisões de edição
Resumo:
- 14 arquivos alterados
- 4 novos
- 10 modificados
- 0 removidos
10 files changed, 278 insertions(+), 33 deletions(-)
Arquivos:
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/docs/supported-actions.md
- code/engine/editor/aplicador_de_plano_de_edicao.py
- code/engine/editor/escrita/escrita_no_editor.py
- code/engine/testes/duplos_de_premiere.py
- code/engine/testes/test_aplicador_de_plano_de_edicao.py
- code/src/tools/timeline.ts
- code/tests/tools/structural-verification.test.ts
- code/tests/tools/tool-modules.test.ts
- code/engine/arquitetura/legendas.md
- code/engine/editor/legendas/
- code/engine/testes/test_gerador_de_legendas.py
- skills/
-documentada a entrada universal da skill edit-video-by-voice e reforçados os limites do contrato de ações 1.0
- corrigida a identificação da mídia na engine Python usando nome do clipe e nome-base de sourceFile
Resumo:
- 5 arquivos alterados
- 1 novos
- 4 modificados
- 0 removidos
4 files changed, 54 insertions(+), 16 deletions(-)
Arquivos:
- code/engine/editor/aplicador_de_plano_de_edicao.py
- code/engine/testes/test_aplicador_de_plano_de_edicao.py
- code/plugins/premiere-pro/skills/edit-video-by-voice/SKILL.md
- code/plugins/premiere-pro/skills/edit-video-by-voice/agents/openai.yaml
- code/plugins/premiere-pro/skills/edit-video-by-voice/references/input-schema.md
- criado rascunho portátil da skill de edição de vídeo por voz com contrato JSON de actions
- corrigido o campo ausente de ritmo que bloqueava a montagem e cópia do JSON dos perfis
Resumo:
- 2 arquivos alterados
- 1 novos
- 1 modificados
- 0 removidos
1 file changed, 1 insertion(+)
Arquivos:
- code/cep-plugin/index.html
- code/plugins/premiere-pro/skills/edit-video-by-voice/
- configurado o Jhonny.command para executar commit e push automaticamente quando houver alteracoes
- corrigida a cópia do JSON resumido dos perfis para a área de transferência
Resumo:
- 2 arquivos alterados
- 0 novos
- 2 modificados
- 0 removidos
2 files changed, 99 insertions(+), 7 deletions(-)
Arquivos:
- admin/Jhonny.command
- code/cep-plugin/main.js
- criado plano executável com actions para aplicar o resumo da entrevista no editor
- corrigida a compressão da barra de abas do painel após a inclusão de Tipos de vídeo
- criada skill para converter seleções de transcrição em actions executáveis no editor
Resumo:
- 3 arquivos alterados
- 2 novos
- 1 modificados
- 0 removidos
1 file changed, 4 insertions(+), 1 deletion(-)
Arquivos:
- code/cep-plugin/styles.css
- code/plugins/premiere-pro/skills/transcript-to-edit-actions/
- plano-resumo-video-actions.json
- criada a aba Tipos de vídeo com cinco perfis editoriais pré-cadastrados e catálogo local pronto para integração com o Schedule Light
- ampliado o cadastro vertical dos perfis com objetivos, narrativa, emoção, prioridades, formato, áudio e regras para IA
- criado plano JSON para resumir a entrevista jornalística em até três minutos
Resumo:
- 4 arquivos alterados
- 1 novos
- 3 modificados
- 0 removidos
3 files changed, 318 insertions(+), 3 deletions(-)
Arquivos:
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/cep-plugin/styles.css
- plano-resumo-video.json
- exibida a quantidade de falantes detectados e o campo para nomeá-los na guia Editar vídeo
- reposicionado o formulário de nomes dos falantes para ficar abaixo da opção de diarização
Resumo:
- 2 arquivos alterados
- 0 novos
- 2 modificados
- 0 removidos
2 files changed, 17 insertions(+), 12 deletions(-)
Arquivos:
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- Alinhado o aplicador Python de plano de edição (aplicador_de_plano_de_edicao.py) com o script apply-editorial-actions.mjs de referência: no-op de split restrito aos padrões reais do bridge, pausa entre chamadas ao MCP, tolerância de borda de corte usa a posição real em vez de rejeitar desvio; adicionado backup automático da sequência (duplicate_sequence) e documentado o comando python code/engine/aplicar_plano_de_edicao.py como via alternativa ao painel CEP.
Resumo:
- 18 arquivos alterados
- 5 novos
- 13 modificados
- 0 removidos
13 files changed, 704 insertions(+), 133 deletions(-)
Arquivos:
- .jhonny/analises.db
- CLAUDE.md
- code/engine/aplicar_plano_de_edicao.py
- code/engine/editor/__init__.py
- code/engine/editor/aplicador_de_plano_de_edicao.py
- code/engine/editor/escrita/escrita_no_editor.py
- code/engine/integracoes/premiere/__init__.py
- code/engine/integracoes/premiere/cliente_mcp.py
- code/engine/testes/duplos_de_premiere.py
- code/engine/testes/test_aplicador_de_plano_de_edicao.py
- code/scripts/apply-editorial-actions.mjs
- code/src/tools/discovery.ts
- code/src/tools/timeline.ts
- code/engine/editor/backup_de_sequencia.py
- code/engine/integracoes/premiere/cliente_mcp_com_pausa.py
- code/engine/testes/test_backup_de_sequencia.py
- code/engine/testes/test_cliente_mcp_com_pausa.py
- code/engine/testes/test_escrita_no_editor.py
- criada a aba Análises no painel CEP para ler do banco (analises.db) e copiar/abrir o J-SOM de som (transcrição por cena) e o de imagem (evidências visuais), com novo módulo engine/gerar_relatorio_de_analises.py e testes
- criado o módulo engine/editor (leitura do plano de edição em JSON, tradução de tempos de origem para a timeline ativa e aplicação de cortes/zooms/marcadores no Premiere via MCP) e o ponto de entrada engine/aplicar_plano_de_edicao.py, com testes; corrigido engine/integracoes/premiere/cliente_mcp.py para levantar os erros específicos já declarados em erros_mcp.py em vez de RuntimeError genérico
Resumo:
- 15 arquivos alterados
- 8 novos
- 5 modificados
- 2 removidos
7 files changed, 172 insertions(+), 8 deletions(-)
Arquivos:
- .jhonny/analises.db
- .jhonny/analises.db-shm
- .jhonny/analises.db-wal
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/cep-plugin/styles.css
- code/engine/integracoes/premiere/cliente_mcp.py
- code/engine/aplicar_plano_de_edicao.py
- code/engine/editor/
- code/engine/gerar_relatorio_de_analises.py
- code/engine/testes/duplos_de_premiere.py
- code/engine/testes/test_aplicador_de_plano_de_edicao.py
- code/engine/testes/test_gerar_relatorio_de_analises.py
- code/engine/testes/test_leitor_de_plano_de_edicao.py
- code/engine/testes/test_mapeador_de_tempo.py
- tornado obrigatório registrar uma linha de resumo para cada implementação concluída
- corrigido o Scanner e o Retakes no painel usando o Python do venv (3.14) em vez do /usr/bin/python3 3.9 e injetado o caminho da engine no executar_retakes.py
Resumo:
- 7 arquivos alterados
- 0 novos
- 7 modificados
- 0 removidos
7 files changed, 57 insertions(+), 8 deletions(-)
Arquivos:
- .gitignore
- AGENTS.md
- CLAUDE.md
- admin/DEV-NOTES.md
- admin/deploy.command
- code/cep-plugin/main.js
- code/engine/executar_retakes.py
- Adicionado estrutura completa do projeto
- Configurado MCP server para Premiere Pro
- Adicionado documentação e skills
- Configurado Gitignore para o projeto