2026-09-01 - (/loop) Made reservation failures legible, then cracked the collision they hid

Picked up worklog 284's open PPSA04263 wall by building the diagnostic it asked for, rather than guessing further. Two parts (D462): Windows platform::reserve now distinguishes the VirtualAlloc null cause via GetLastError (ERROR_INVALID_ADDRESS -> conflict, else host-refused with the code - the D010 rule Unix already followed), and AddressSpace::reserve/protect record their last failure - base, length, reason - into allocation-free statics the worker's persist prints once from the host side (D381-safe).

It paid off on the first run: PPSA04263 reported base=0x720000000000 len=0x32000000 - conflict, and 0x720000000000 is SUGGESTED_DATA_BASE exactly. MAPPING_BASE and the thunk data-block base were the same address - the data blocks are reserved there at load, so the first guest map with no address hint landed on them and was refused. A whole tick of hand investigation (worklog 284) had missed it; the base was the one fact the empty-arena reasoning could not produce, and the diagnostic just stated it.

Fix (D463): moved MAPPING_BASE to 0x0000_7400_0000_0000, a clear terabyte above the data blocks. Verified two ways - the reservation-failure line vanished, and PPSA04263 went 32 -> 10,123 calls (+10,091), faulting far later at image+0x2ba47bc. Blast radius: PPSA25872 advanced 26,850 -> 39,929 (+13,079); PPSA21564 and PPSA02664 unchanged, no regression. cargo clippy/test clean on mem, kernel and worker (the one clippy note is the pre-existing enter too_many_lines).

Surprises worth keeping: (1) the bug was structural, not title-specific - it only looked PPSA04263-only because titles that reserve with a hint first never reach MAPPING_BASE. (2) With failures now visible, several titles show a non-fatal conflict at 0x6b0000000000 - the guest's own hint address being refused and its allocator falling back to the arena as reserve_virtual_range is designed to do; the guest recovers, so it is not a wall, just newly legible. Worth understanding later (why does the hint conflict?), not urgent. PPSA28061 shows a distinct host-refused at an image address - its own issue.

Next oracle-free: chase PPSA04263's new wall image+0x2ba47bc (10k calls in now) and PPSA25872's 0x7b594e with the return column; both are freshly exposed and may be more local bugs.