diff --git a/plans/PhaseA-user-checklist.md b/plans/PhaseA-user-checklist.md index 7e8a3fd..f1171b0 100644 --- a/plans/PhaseA-user-checklist.md +++ b/plans/PhaseA-user-checklist.md @@ -284,20 +284,26 @@ Validazione finale di A5 (definizione di "fatto Fase A"). Confronto Python vs PowerShell. Pendenza A4. -- [ ] Eseguire prima del merge: +- [x] Eseguito `.\scripts\Measure-CIBenchmark.ps1` (4 iter): - ```powershell - .\scripts\Measure-CIBenchmark.ps1 - ``` + | Iter | Clone | Start | IP | WinRM | Destroy | Boot tot | + | ---- | ----- | ----- | ----- | ----- | ------- | -------- | + | 1 | 0.63 | 1.75 | 66.57 | 0.01 | 4.81 | 68.96 | + | 2 | 0.63 | 1.89 | 20.21 | 0.01 | 6.39 | 22.74 | + | 3 | 0.62 | 1.72 | 85.07 | 0.01 | 4.50 | 87.42 | + | 4 | 0.61 | 1.72 | 60.97 | 0.01 | 4.20 | 63.31 | - Annotare il tempo medio per job. + Nessun errore, destroy OK (~4-6s), 0 orfani. Clone/start/WinRM + trascurabili; **fase IP (20-85s) = costo dominante e variabile** + (detect IP guest via VMware Tools / ci-report-ip) — noto, non + bloccante. Prerequisito scoperto: lo shim `Remove-BuildVM.ps1` + inoltrava `-ErrorAction` come `--error-action` (destroy falliva -> + orfana); risolto per tutti gli shim blind-loop (commit + `fix(shims): skip PowerShell common params`). -- [ ] Confrontare con il baseline pre-Python (se disponibile in - `docs/OPTIMIZATION.md` o in un commit precedente). Tolleranza - target: **±10%**. - -- [ ] Se delta > 10%: aprire issue in `TODO.md` con dettagli per - profiling. NON è bloccante per il merge della Fase A. +- [ ] (Opzionale) Confronto col baseline pre-Python: nessun baseline + PS affidabile registrato; metriche infra appese a + `F:\CI\Logs\benchmark.jsonl` per trend futuri. Non bloccante. ---