4.7 KiB
Tier2 Rebuild Sequencing (2026-04-21)
This note preserves the currently grounded sequencing around the active Tier-2 queue head, so the short queue does not have to restate the same late bringup strip every time.
Preserved Artifact Notes
artifacts/exports/rt3-1.06/runtime-effect-kind8-tier2-sequencing-note.mdartifacts/exports/rt3-1.06/runtime-effect-kind8-tier2-recipe-runtime-note.md
Coupled Rebuild Strip
The current Tier-2 bringup evidence no longer reads as one isolated helper. The grounded rebuild owners form one coupled strip:
0x00435630- rebuilds scenario-side port/warehouse recipe runtime tables
- re-enters
0x00412d70
0x00412d70- rebuilds candidate runtime records from scenario state
- runs two explicit bank passes, first on
[candidate+0xba]and then on[candidate+0xbb] - does not consult the scenario-side recipe-book name at
[state+0x0fe8] - picks one availability-qualified seed row and either reuses or clones its full
0x1f2-dword body - re-enters
0x00435630 - also re-enters
0x00411ce0and0x00411ee0
0x00412fb0- broader collection-load owner
- directly loops through the stock/import stream via
0x004120b0 0x004120b0itself explicitly loads selector bytes[candidate+0xba/+0xbb]from the stream- then calls
0x00412d70 - then calls
0x00412ab0 - and only after the later catalog rebuild re-enters
0x00412c10
0x00437737- late preseed of named candidate-availability records from the live pool
- upserts through
0x00434f20
0x00434f20- writes the boolean named-availability override bit
- immediately re-enters
0x00412c10when the live candidate pool exists
0x00412c10- refreshes
[candidate+0x7ac]from named availability - then tails into
0x0041eac0
- refreshes
0x00434d40- late post-refresh sweep over collection
0x0062b26c - sets
[entry+0x7b0] = 1for subtype-2rows
- late post-refresh sweep over collection
Late Bringup Placement
The preserved sequencing note keeps the late 0x197 checkpoint concrete too:
0x00444ac1sits after:0x004354a0- territory overlay sweep
0x00487de0
- and then falls through into:
0x00437737- followed by the later candidate-side availability refresh
0x00412c10
So the late Tier-2 strip begins with named-availability preseed and latch refresh, not with the shell progress or territory overlay helpers that precede it.
Direct Checkpoint Order
Fresh objdump over RT3.exe now makes the two key bringup checkpoints explicit too:
- early checkpoint
0x00443ebc- calls
0x00435630 - then calls
0x00412c10only if live candidate pool0x0062b268is non-null - then unconditionally calls
0x00412bd0 - then follows with
0x00434130and0x00436af0
- calls
- late checkpoint
0x00444ac1- calls
0x00435630 - then immediately calls
0x00437737 - then unconditionally calls
0x00412c10 - then calls
0x00434d40
- calls
So the late bringup strip is not just “somewhere after 0x004354a0.” It explicitly reruns the
recipe/runtime rebuild before the named-availability preseed and the later unconditional latch
refresh, and then runs one final subtype-2 mark pass through 0x00434d40.
Current Reading
This keeps the active Tier-2 owner question on sequencing and data handoff, not on bare naming:
- one side of the strip is the coupled recipe/runtime rebuild family
0x00435630 -> 0x00412d70 -> 0x00412fb0 - the loader edge is explicit now:
0x004120b0is the stream-side owner that reads[candidate+0xba/+0xbb]as one-byte parser fields before0x00412fb0falls into the runtime projection pass - the projection edge is explicit in the same way:
0x00412d70does not just “see banked bytes” abstractly, it runs one pass that accepts only nonzero[candidate+0xba]rows and one pass that accepts only nonzero[candidate+0xbb]rows, reusing a matching prior ordinal when available and otherwise cloning the full seed-row body - the other side is the later named-availability preseed/latch family
0x00437737 -> 0x00434f20 -> 0x00412c10 - the early checkpoint only refreshes
0x00412c10when the live candidate pool already exists, while the late checkpoint always reruns0x00435630 -> 0x00437737 -> 0x00412c10 - the same late checkpoint then follows with
0x00434d40, which walks0x0062b26cand stamps[entry+0x7b0] = 1on subtype-2rows - the remaining non-hook question is how that interaction lets candidate-table rows
35/43/45..66reach0x00412d70with nonzero[candidate+0xba/+0xbb]before the later0x00419230rebank-or-clone pass consumes them
So the next Tier-2 pass should keep tracing the handoff between those two late rebuild bands,
rather than reopening the direct Warehouse05 availability bit or the already-bounded stock asset
corpus.