Why
Get-PfMemGb prefers docker info MemTotal over physical RAM, so the same 15 GB laptop reports "Memory: 7 GB" when Docker is running (WSL2 VM default = 50% of RAM) and "Memory: 15 GB ✓" when it isn't — flip-flopping across re-runs and confusing users mid-install. Worse, the remediation hint told a 15 GB machine to "give Docker >= 16 GB" — physically impossible advice. Observed on three separate machines (7 GB, 6 GB, 15 GB readings; the 16 GB hint on a 15 GB host).
Where
scripts/install-k8s.ps1 (v1.9.6): Get-PfMemGb/Get-PfRuntimeMemGb L2256–2277, hints L2351/L2356/L2425, Step-2 re-check Test-PreflightRuntimeMem L1035.
Scope
- Always print two labeled lines: host RAM and Docker's current budget (when a runtime is up).
- Cap every recommendation at (physical − 2 GB); never recommend more than the machine has.
- De-duplicate the Step-1/Step-2 warnings into one consistent message.
Acceptance criteria
- Same machine, Docker up or down, reports identical host RAM; recommendations are always achievable.
Why
Get-PfMemGbprefersdocker info MemTotalover physical RAM, so the same 15 GB laptop reports "Memory: 7 GB" when Docker is running (WSL2 VM default = 50% of RAM) and "Memory: 15 GB ✓" when it isn't — flip-flopping across re-runs and confusing users mid-install. Worse, the remediation hint told a 15 GB machine to "give Docker >= 16 GB" — physically impossible advice. Observed on three separate machines (7 GB, 6 GB, 15 GB readings; the 16 GB hint on a 15 GB host).Where
scripts/install-k8s.ps1(v1.9.6):Get-PfMemGb/Get-PfRuntimeMemGbL2256–2277, hints L2351/L2356/L2425, Step-2 re-checkTest-PreflightRuntimeMemL1035.Scope
Acceptance criteria