# PLN-0007: Full Migration to Atomic Telemetry ## Briefing Este plano detalha a remoção técnica dos campos legados de telemetria no `VirtualMachineRuntime` e a migração de todos os consumidores para o modelo de `AtomicTelemetry` introduzido na DEC-0007. ## Decisions de Origem - DEC-0008 (Full Migration to Atomic Telemetry) - DEC-0007 (Host Debug Overlay Isolation) ## Alvo - `crates/console/prometeu-system` - `crates/console/prometeu-hal` - `crates/host/prometeu-host-desktop-winit` ## Escopo - Remoção de `telemetry_current` e `telemetry_last` de `VirtualMachineRuntime`. - Refatoração do `VirtualMachineRuntime::tick` para remover atualizações redundantes. - Atualização do `VirtualMachineRuntime::lifecycle` para remover inicialização e reset dos campos legados. - Refatoração do `LogService` para consumir logs via `AtomicTelemetry`. - Atualização do `HostRunner` (Desktop) para remover qualquer referência residual aos campos legados. - Atualização das especificações técnicas em `docs/specs/runtime/`. ## Fora de Escopo - Mudanças no formato do `TelemetryFrame` (a menos que estritamente necessário para compatibilidade). - Otimizações de performance não relacionadas à telemetria. ## Plano de Execucao 1. **Fase 1: HAL & Telemetry** - Verificar se `AtomicTelemetry` possui todos os campos necessários. - Garantir que `LogService` está alinhado com o novo modelo. 2. **Fase 2: Runtime Refactor** - Remover campos de `VirtualMachineRuntime` em `mod.rs`. - Limpar inicialização em `lifecycle.rs`. - Limpar loop de atualização em `tick.rs`. 3. **Fase 3: Host & Integration** - Corrigir chamadas no `HostRunner` que ainda usem os campos antigos. - Validar que o snapshot atômico atende às necessidades de inspeção. 4. **Fase 4: Specs & Cleanup** - Atualizar `10-debug` e `11-portability`. - Emitir lição aprendida LSN-0028. ## Criterios de Aceite - O projeto compila sem warnings relacionados a campos não utilizados. - O Host Desktop inicia e o overlay (F1) exibe telemetria correta via atômicos. - Não existem mais os campos `telemetry_current` e `telemetry_last` no código fonte. ## Tests / Validacao - `cargo check` em todos os crates afetados. - Execução manual do host desktop para validar overlay. ## Riscos - **Perda de Snapshot de Frame:** Se o `snapshot()` não for chamado no momento certo ao final do frame, o overlay pode mostrar valores parciais de ciclos (resolvido chamando `snapshot()` no Host no momento de renderização do overlay).