D584 - Guest-visible blocks come from one fixed region

Status: decided Date: 2026-09-26

Every handle or opaque block the guest is given comes from blocks::block, which bump-allocates aligned, zeroed, never-freed blocks from GUEST_BLOCK_BASE in orbistoun-mem. Block n is the same address in every run; exhaustion falls back to the host heap and blocks::repeat reports it.

Why: a guest reads fields through a handle, so a handle must be a real zeroed block, but nothing requires the host allocator to choose where. Host heap addresses differ every run and make two runs incomparable. Guest-visible memory is what orbistoun-mem is for, and every subsystem that issues handles already sits above it on the dependency spine.

Rejected: