rrt/docs/rehost-queue.md

8.4 KiB

Rehost Queue

Working rule:

  • Do not stop after commits.
  • After each commit, check this queue and continue.
  • Only stop if the queue is empty, you hit a real blocker, or you need approval.
  • Before any final response, state which stop condition is true. If none is true, continue.

Next

  • Reconstruct the save-side region record body on top of the newly corrected non-direct tagged region seam (0x5209/0x520a/0x520b, stride hint 0x06, Marker09 record stems) and its now grounded repeated 0x55f1/0x55f2/0x55f3 record-triplet envelope, especially the unresolved fields that remain above the now-grounded embedded profile collection in the large 0x55f3 payload: the pending bonus lane [region+0x276], completion latch [region+0x302], one-shot notice latch [region+0x316], severity/source lane [region+0x25e], and any stable region-id or class discriminator that can drive shellless city-connection service.
  • Reconstruct the save-side placed-structure collection body on top of the newly grounded 0x36b1/0x36b2/0x36b3 header seam so the blocked city-connection / linked-transit branch can stop depending on atlas-only placed-structure and local-runtime refresh notes, especially the semantics of the now-grounded compact 0x55f3 footer dword/status lane and any deeper side buffers beyond the repeated 0x55f1/0x55f2/0x55f3 triplet envelope.
  • Extend shellless clock advancement so more periodic-company service branches consume owned runtime time state directly instead of only the explicit periodic service command.
  • Keep widening selected-year world-owner state only when a full owning reader/rebuild family is grounded strongly enough to avoid one-off leaf guesses.

In Progress

  • Widen shellless simulation from explicit service commands toward “advance the runtime clock and the simulation-owned services advance with it.”

Queued

  • Rehost additional periodic finance/service branches that still depend on frozen world restore fields instead of advanced runtime-owned time state.
  • Reduce remaining company/chairman save-native gaps that still block standalone simulation quality, especially controller-kind closure and any deeper finance/state fields that still rely on conservative defaults.
  • Rehost bounded live economy owner state beyond selector/catalog/override surfaces when a concrete non-shell-owned seam is grounded.
  • Keep tightening shell-owned parity families only when that directly supports later rehosting.

Blocked

  • Full shell/dialog ownership remains intentionally out of scope.
  • Any candidate slice that requires guessing rather than rehosting owning state or real reader/setter families stays blocked until a better owner seam is grounded.
  • The city-connection announcement / linked-transit roster-maintenance branch is still blocked at the record-body level, not the collection-identity level: the runtime now has a corrected non-direct tagged region seam, a tagged train header-plus-directory seam, and a tagged placed-structure header seam, but it does not yet reconstruct the live region or placed-structure record bodies those service owners need.

Recently Done

  • Save inspection now splits the shared 0x5209/0x520a/0x520b family correctly: the smaller direct 0x1d5 collection is the live train family and now exposes a live-entry directory rooted at metadata dword 16, while the actual region family is the larger non-direct Marker09 collection with live_id/count 0x96/0x91; the tagged placed-structure header (0x36b1/0x36b2/0x36b3) remains grounded alongside them.
  • That same corrected region seam now also exposes repeated 0x55f1/0x55f2/0x55f3 serialized record triplets with len-prefixed names plus fixed policy/profile chunk lengths, so the next city-connection pass can target the real record envelope instead of another blind scan.
  • The fixed 0x55f2 row inside each region triplet is now decoded structurally as three leading f32 lanes, three reserved u32 lanes, and a trailing u16 word, so the next save-region slice can focus on the larger 0x55f3 payload where the pending/completion/one-shot latches are most likely to live.
  • The larger 0x55f3 payload now also exposes an embedded direct profile collection with grounded live-id/count headers, fixed 0x22-byte rows, profile names, and trailing weight scalars, so the remaining region work is on the unresolved payload fields above that collection rather than on the profile subcollection itself.
  • The placed-structure tagged save stream now also exposes repeated 0x55f1/0x55f2/0x55f3 triplets with dual name stems, a fixed five-f32 policy row, and a compact 0x5dc1...0x5dc2 footer carrying one raw u32 payload lane plus one live i32 status lane, so the remaining placed-structure work is semantic closure of those owned fields rather than envelope discovery.
  • That compact placed-structure i32 footer status lane is now partially grounded as owned semantics too: observed non-farm families stay at -1, while farm families use nonnegative 0..11 buckets that are now exported as farm growth-stage indices instead of opaque raw status residue.
  • Stepped calendar progression now also refreshes save-world owner time fields, including packed year, packed tuple words, absolute counter, and the derived selected-year gap scalar.
  • Automatic year-rollover calendar stepping now invokes periodic-boundary service.
  • Save-native world locomotive policy owner state now flows through runtime restore state, summaries, and keyed world-flag execution for the grounded All Steam/Diesel/Electric Locos Avail. descriptor strip plus the cached available-locomotive rating.
  • The selected-year bucket ladder rooted in 0x00433bd0 is now checked in as a static artifact, and runtime restore state now derives both the selected-year bucket scalar and the [world+0x0bde] economic-tuning mirror from owner-family inputs instead of preserving stale load-time residue.
  • That same selected-year owner family now also rebuilds the direct bucket trio [world+0x65/+0x69/+0x6d], the complement trio [world+0x71/+0x75/+0x79], and the scaled companion trio [world+0x7d/+0x81/+0x85] from the checked-in 0x00433bd0 artifact instead of preserving stale save-time residue.
  • The save-native company direct-record seam now also carries the full outer periodic-company side-latch trio rooted at 0x0d17/0x0d18/0x0d56, including the preferred-locomotive engine-type chooser byte beside the city-connection and linked-transit finance gates.
  • That same side-latch trio now also has a runtime-owned service-state map and summary surface, so later periodic company-service work can stop reading those lanes directly from imported market/cache residue.
  • The periodic-boundary owner now also clears the transient preferred-locomotive side latch every cycle and reseeds the finance latches from market state where present, while preserving side-latch-only company context when no market projection exists.
  • The outer periodic-company seam now also has a first-class runtime reader: selected-company summaries and finance readers can resolve the base [world+0x4c74] route-preference byte, the effective electric-only override fed by 0x0d17, and the matching 1.4x versus 1.8x route-quality multiplier through owned periodic-service state instead of leaving that bridge in atlas notes.
  • That same periodic-company seam now also owns a first-class route-preference apply/restore mutation lane: runtime service state tracks the active and last electric override, beginning the override rewrites [world+0x4c74] to the effective route preference for the selected company service pass, and ending the override restores the base world byte instead of leaving the seam as a pure reader bridge.
  • The same route-preference mutation seam now also carries explicit apply/restore service counters through runtime service state and summaries, so later periodic-company branches can assert that override activity happened even before the missing city-connection / linked-transit service owners are fully rehosted.
  • Company cash, confiscation, and major governance effects now write through owner state instead of drifting from market/cache readers.
  • Company credit rating, prime rate, book value per share, investor confidence, and management attitude now refresh from grounded owner-state readers.
  • Annual finance service persists structured news events and grounded debt/share flow totals.