53 lines
2.5 KiB
Markdown
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).
|