prometeu-runtime/discussion/workflow/plans/PLN-0007-full-migration-to-atomic-telemetry.md

53 lines
2.5 KiB
Markdown

# 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).