PHASE 1 — MACHINE AND ENVIRONMENT INVENTORY
Captured: 2026-08-06
Method: PowerShell 5.1 read-only queries (Get-CimInstance, Get-Command, wsl.exe)
Nothing installed, cloned, or modified at this stage.

================================================================
HOST OPERATING SYSTEM
================================================================
Caption          : Microsoft Windows 11 Pro
Version          : 10.0.26200
BuildNumber      : 26200
OSArchitecture   : 64-bit
Windows version reported by wsl.exe : 10.0.26200.8973

================================================================
CPU
================================================================
Name                      : 12th Gen Intel(R) Core(TM) i9-12900K
NumberOfCores             : 16
NumberOfLogicalProcessors : 24
MaxClockSpeed             : 3200 MHz
HypervisorPresent         : True   (firmware virtualization active)

================================================================
MEMORY
================================================================
Total physical RAM : 31.69 GB
Free physical RAM  : 21.32 GB  (at time of capture)

=> Falls in the audit prompt's "approximately 32 GB" tier.
=> Build parallelism ceiling per prompt: -j4

================================================================
FIXED DISKS
================================================================
DeviceID   SizeGB    FreeGB
C:         1862.1     203.3
D:            0.0       0.0   (no media / empty optical or card reader)
E:         2794.5    1787.2

=> C: free space (203.3 GB) exceeds the >=50 GB budget required for the
   WSL2 ext4.vhdx, Lean toolchain, and Mathlib .olean cache.
=> No distro relocation to E: is required.

================================================================
SHELL / VCS ON WINDOWS HOST
================================================================
PowerShell version : 5.1.26100.8972
git (Windows host) : git version 2.55.0.windows.3

NOTE: The Windows-host git version is recorded for completeness only.
The audit clone is performed inside WSL2 with its own git (see
repository_state.txt). Git-for-Windows' default core.autocrlf=true is the
specific hazard this avoids.

================================================================
WSL2 STATUS
================================================================
wsl --status:
    Default Version: 2
    WSL1 is not supported with your current machine configuration.
    Please enable the "Windows Subsystem for Linux" optional component
    to use WSL1.

wsl --version:
    WSL version      : 2.7.11.0
    Kernel version   : 6.18.33.2-2
    WSLg version     : 1.0.73.2
    MSRDC version    : 1.2.7214
    Direct3D version : 1.611.1-81528511
    DXCore version   : 10.0.26100.1-240331-1435.ge-release

wsl -l -v:
    Windows Subsystem for Linux has no installed distributions.

Windows optional features (non-admin Win32_OptionalFeature query):
    VirtualMachinePlatform            : Enabled
    HypervisorPlatform                : Disabled
    Microsoft-Windows-Subsystem-Linux : Disabled

INTERPRETATION (recorded precisely, per audit rule 7):

  - The modern Store-distributed WSL package IS installed and functional:
    wsl.exe responds, reports version 2.7.11.0, and has a Linux kernel
    (6.18.33.2-2) present.
  - VirtualMachinePlatform, the Windows feature WSL2 actually requires,
    is ALREADY ENABLED. HypervisorPresent is True.
  - "Microsoft-Windows-Subsystem-Linux: Disabled" is the LEGACY WSL1
    component. It is not required for WSL2 under the Store-based wsl.exe.
    The wsl --status message about it refers only to WSL1 support.
  - HypervisorPlatform (third-party hypervisor interface) is not required
    for WSL2.

  => WSL2 is INSTALLED AND ENABLED. What is absent is a Linux
     DISTRIBUTION, not the WSL2 platform.
  => Installing a distribution is therefore expected to require NO
     Windows optional-feature change and NO reboot.
  => The plan's STOP condition (feature change or reboot required) is
     NOT triggered. Approval was nonetheless requested before installing
     a distribution, per audit prompt Phase 1 ("report the reason before
     installing it").

================================================================
TOOLCHAIN AVAILABILITY — WINDOWS HOST
================================================================
python  : C:\Users\Andrei\AppData\Local\Microsoft\WindowsApps\python.exe
python3 : C:\Users\Andrei\AppData\Local\Microsoft\WindowsApps\python3.exe
py      : NOT FOUND
curl    : resolves to the PowerShell alias for Invoke-WebRequest
          (no .Source; a real curl.exe may still exist in System32)
elan    : NOT FOUND
lean    : NOT FOUND
lake    : NOT FOUND

IMPORTANT — Python is NOT actually installed on the Windows host.
`python --version` returns:

    Python was not found; run without arguments to install from the
    Microsoft Store, or disable this shortcut from Settings > Apps >
    Advanced app settings > App execution aliases.

The two entries above are Microsoft Store *execution-alias stubs*, not a
Python interpreter. Recorded here so that the absence is not later
mistaken for a working interpreter.

CONSEQUENCE FOR PHASE 8: verify_sp4_gauge.py requires only the Python
standard library and will be run under the WSL2 distribution's python3
rather than on the Windows host. No separate Windows Python install is
needed.

================================================================
PROXY / CERTIFICATE
================================================================
No proxy or TLS-interception issues observed during read-only
reconnaissance (GitHub API and raw.githubusercontent.com both resolved
and returned expected content). To be re-confirmed inside WSL2 when elan
and lake first reach the network.

================================================================
ENVIRONMENT DECISION
================================================================
Selected environment: WSL2 (distribution to be installed, pending approval)

Rationale (recorded before installation, per Phase 1):

  1. DECISIVE: The repository's own verification tool, Comparator, is
     invoked via COMPARATOR_LANDRUN. `landrun` is a Linux Landlock-LSM
     sandbox with no Windows equivalent. Native Windows cannot execute
     the repository's own external-kernel-checker path at all.
  2. Git-for-Windows defaults to core.autocrlf=true, which rewrites
     LF->CRLF on checkout. The repository ships no .gitattributes to
     prevent this. That would alter the audited file's SHA-256 and byte
     size while leaving the git blob SHA matching — manufacturing a
     false source mismatch.
  3. MAX_PATH (260 chars) risk against .lake/packages/mathlib/... paths.
  4. Windows Defender scanning of ~10^5 .olean files.

A native-Windows run would lose verification path (b) entirely and would
have to be reported as a single-path partial audit. It is not equivalent
and will not be described as such.
