Dated source reference. Current release status: handoff state. Full original relative paths are in the developer archive.
Native heap mutator lifetime join
November 8, 2026, 21:24 UTC. Private framework work; no packet capability is admitted.
The game heap has two additional mutation paths beyond allocate, reallocate,
free, backing registration, initialization and clear. Virtual slot 4 at
D9EDA0 calls the in-place helper at D9E950; virtual slot 5 at D9E660
can replace one block with two independently live spans. A wrapper or helper
call is not read-only merely because it delegates its writes.
takeover/heap-mutator-code75.json pins the complete methods: 171 bytes for
slot 4, 748 for partition and 1,091 for the in-place helper. It supersedes
preliminary body extents in the static mutation-frontier report. Original
text and rdata hashes are retained by the capture script. The CPU fixture
executes original search, trees, unlinking, block writers, coalescing and
validation; only byte fill/copy primitives are controlled.
packet75ld4 passes 504 Windows baseline/observed scenarios and 111,638
checks, preserving the original caller words, stack, registers, flags, FX
state and LastError. Cases include three guard sizes, four debug levels,
zero-size resize, movement, early and restorative failures, ordinary splits,
invalid ranges/alignment, and zero-length surviving blocks. This is CPU
proof, not a game-run acceptance.
The source registry withdraws the old generation before native mutation.
Successful spans receive new generations. Failed direct mutators also issue
a fresh generation for the retained block; a stale constructor binding cannot
revive. Zero-length blocks retain only lifetime identity and grant no readable
or delegated backing bytes. Results must stay in the original live backing
region. A nested D9E950 call joins its exact outer reallocation and cannot
record the same result twice. Descendant backing migration remains refused.
packet75le passes 362 Windows protocol checks, including wrong identity,
thread, mutation, duplicate/overflowing spans, lost/reused backing and nested
reallocation. The updated allocator event join, packet75lf, passes 574
Windows checks. Local ASan/UBSan and ThreadSanitizer checks pass. Existing
source-memory regressions pass locally. Production and combined gates are
being rebuilt from current inputs; older combined receipts remain historical.
The private allocator bootstrap is version 3, bounded to 144 rows because the current texture profile requires 129 exact patch windows. Versions 1 and 2 remain readable. This changes no public command, HTTP, native API or packet capability contract. Native admission still requires current source/free, context, code, command and effect closure. Other allocator delegation and backing-migration paths are not qualified by this component.