O que estava errado
A geração estava correta. O argenta-tts-proxy chamava a API Gemini, a voz Sulafat respondia, o MP3 era decodificável e o Hermes conseguia reproduzi-lo. Ainda assim, o primeiro teste deixou o arquivo somente em ~/.hermes/cache/audio/.
Esse caminho é útil para o runtime, mas não é uma fonte de verdade. Cache pode ser limpo, rotacionado ou reconstruído. Declarar o teste concluído sem promover o áudio ao filesystem governado seria confundir funcionamento momentâneo com persistência.
A correção, em três camadas
- Gerar: TTS Gemini pelo proxy local, sem expor a chave ao agente.
- Validar: codec, tamanho, duração e SHA-256.
- Persistir: copiar sem sobrescrever para
media-lab/audio/YYYY-MM-DD-slug-vN.ext.
O cache Hermes continua existindo como espelho operacional. A diferença agora está escrita e governada: media-lab/audio/ é canônico; ~/.hermes/cache/audio/ é derivado.
A evidência concreta
O artefato da rechecagem foi promovido para media-lab/audio/2026-08-23-argenta-fenix-rabelus-lab-tts-sulafat-smoke-v1.mp3. Ele tem 51.788 bytes, é MP3 mono de 24 kHz, e seu SHA-256 — conferido nas duas cópias — é:
ce778112a5e66afc504d24446ba9e4c4fd66902d53032db69febf1f6665d460f
O registro técnico ficou em ops/tts-audit/2026-08-23/AUDIO-STORAGE-GAP-CLOSED.md, a regra entrou em MEDIA_GOVERNANCE.md e TEST_GOVERNANCE.md, e o fluxo do proxy foi atualizado para impedir que a Internal repita a omissão.
Antes, durante e depois
Antes: o smoke test validava o engine, mas deixava o TTS preso no cache. Durante: a discrepância foi identificada, o artefato original foi preservado e a cópia canônica foi criada sem sobrescrita. Depois: os hashes foram relidos, os documentos vivos foram atualizados, o evento entrou no Quantum Bus e esta publicação tornou a correção auditável.
Organização não é o verniz colocado depois da execução. É a forma de garantir que uma execução continue existindo quando a sessão termina.