Bound packed-state trigger-kind omission

This commit is contained in:
Jan Petykiewicz 2026-04-21 18:57:59 -07:00
commit 699a2ae7f1
5 changed files with 19 additions and 4 deletions

View file

@ -238,7 +238,10 @@ The same brush strip is tighter now too:
broader rebuild sibling `0x00468300` rather than by a separate tagged per-record payload lane.
text-band families at `[record+0x0e0/+0x401/+0x4ca/+0x593/+0x65c/+0x725]`, while `0x00430d70`
writes the standalone runtime condition-row chain plus the four grouped runtime-effect row chains
into the packed stream. The recipe rebuild lane itself is
into the packed stream. That event-side bridge omits the metadata band too: direct disassembly
shows neither `0x0042db20` nor `0x00430d70` restoring or serializing `[record+0x7ee..+0x80e]`,
so bytes like `[record+0x7ef]` only flow through the separate deep-copy helper `0x0042e050`
rather than through the `.smp` packed-state path. The recipe rebuild lane itself is
tighter now too: `0x00435630` resolves both token lanes through the exact live cargo-name matcher
`cargo_collection_find_entry_id_by_exact_name` `0x0041e9f0`, fills empty token strings from the
first live cargo entry before that match, and in mode `3` keeps reseeding the primary lane from

View file

@ -11,7 +11,7 @@ This file is the short active queue for the current runtime and reverse-engineer
## Current Active Items
- Keep the periodic-company trace as the main shellless simulation frontier, with the next concrete control-lane pass focused on the ordinary loaded runtime-effect strip `0x00444d92 -> 0x00432f40(kind 8) -> 0x004323a0 -> 0x00431b20`.
The checked `rt3_105/maps` compact-dispatch corpus is now exported directly and partially mirrored into the periodic-company trace: `41` maps scanned, `38` with dispatch-strip rows, `318` nondirect rows total, the add-building subset is only `10` grouped occurrences across `7` descriptor keys, and the strongest broader nondirect families are now bounded too at `36` grouped occurrences across `18` maps for `nondirect-ge1e-h0001-0360-0004-0100-0200-p0000-0000-0000-ffff :: [864:4]` plus `27` across `14` maps for the mixed `[-1:4]` cluster. All of those checked rows still lack recovered trigger kind. The active open question is therefore which ordinary loaded rows acquire or bypass the missing trigger-kind control lane before they can reach placed-structure mutation opcodes.
The checked `rt3_105/maps` compact-dispatch corpus is now exported directly and partially mirrored into the periodic-company trace: `41` maps scanned, `38` with dispatch-strip rows, `318` nondirect rows total, the add-building subset is only `10` grouped occurrences across `7` descriptor keys, and the strongest broader nondirect families are now bounded too at `36` grouped occurrences across `18` maps for `nondirect-ge1e-h0001-0360-0004-0100-0200-p0000-0000-0000-ffff :: [864:4]` plus `27` across `14` maps for the mixed `[-1:4]` cluster. All of those checked rows still lack recovered trigger kind. The packed-state bridge is narrower than that queue head used to allow too: `0x0042db20/0x00430d70` rebuild and serialize only the fixed text bands plus the standalone and grouped row lists, while the metadata band `+0x7ee..+0x80e` is only mirrored by deep-copy helper `0x0042e050`. The active open question is therefore which ordinary loaded rows acquire or bypass the missing trigger-kind control lane before they can reach placed-structure mutation opcodes.
The largest direct writer table is ruled out now too: `0x004d8ea0` is the shell-side `EventConditions.win` commit helper, where controls `0x4e98..0x4ea2` write `[event+0x7ef] = 0..10` on the currently selected live event, so that seed family does not explain shellless post-load bringup.
Preserved checked control-lane detail now lives in [Periodic company control lane](rehost-queue/periodic-company-control-lane-2026-04-21.md).
- Keep the next static Tier-2 building pass focused on the earlier seed/projection seam into `0x00412d70`, not another broad `BuildingTypes` sweep.

View file

@ -149,6 +149,12 @@ The ordinary reload path is narrower in the same negative way now too:
- clears collection flag `[this+0x88] = 0` before returning
- that reload path does not pass any trigger-kind argument analogous to the later `0x00432f40`
service call
- and the per-record helper `0x0042db20` is narrower than a full metadata restore:
- it conditionally rebuilds the six fixed text bands and the linked `0x1e` / `0x28` row families
- it does **not** restore the event metadata band `+0x7ee..+0x80e`, including `[event+0x7ef]`
- the save-side companion `0x00430d70` matches that same omission:
- it writes the fixed text bands plus the linked condition/effect rows
- it does **not** serialize the metadata band `+0x7ee..+0x80e`
So the remaining periodic-company question stays between reload and service: the checked restore
path repopulates the rows, but the later trigger-kind gate lives only in the service strip.