From 1ec87493671ae2d2d82d4173469db477443c2782 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Sat, 18 Apr 2026 12:41:08 -0700 Subject: [PATCH] Bound region service consumer candidates --- crates/rrt-runtime/src/smp.rs | 14 ++++++++++++++ docs/rehost-queue.md | 10 +++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/crates/rrt-runtime/src/smp.rs b/crates/rrt-runtime/src/smp.rs index ec64fb9..741ee52 100644 --- a/crates/rrt-runtime/src/smp.rs +++ b/crates/rrt-runtime/src/smp.rs @@ -2951,6 +2951,8 @@ pub struct SmpRegionServiceTraceReport { #[serde(default)] pub queued_notice_record_count: usize, #[serde(default)] + pub atlas_candidate_consumers: Vec, + #[serde(default)] pub entries: Vec, #[serde(default)] pub notes: Vec, @@ -3592,6 +3594,16 @@ pub fn inspect_save_infrastructure_asset_trace_file( fn build_region_service_trace_report( analysis: &SmpSaveCompanyChairmanAnalysisReport, ) -> SmpRegionServiceTraceReport { + let atlas_candidate_consumers = vec![ + "0x00422100 periodic class-0 region picker and queue seed owner".to_string(), + "0x004337c0 queued 0x20-byte notice-node append helper".to_string(), + "0x00437c00 queued-kind dispatch owner".to_string(), + "0x004c7520 kind-7 region-focused custom-modal owner".to_string(), + "0x004358d0 pending region bonus service owner".to_string(), + "0x00438710 recurring queued-notice service owner".to_string(), + "0x00420030 / 0x00420280 city-connection peer probes".to_string(), + "0x0047efe0 placed-structure linked-company resolver".to_string(), + ]; let entries = analysis .region_record_triplets .as_ref() @@ -3662,6 +3674,7 @@ fn build_region_service_trace_report( .as_ref() .map(|probe| probe.entries.len()) .unwrap_or_default(), + atlas_candidate_consumers, entries, notes, } @@ -21606,6 +21619,7 @@ mod tests { let trace = build_region_service_trace_report(&analysis); assert_eq!(trace.region_record_triplet_count, 1); assert_eq!(trace.queued_notice_record_count, 0); + assert!(!trace.atlas_candidate_consumers.is_empty()); assert_eq!(trace.entries.len(), 1); assert_eq!( trace.entries[0].branches[0].status, diff --git a/docs/rehost-queue.md b/docs/rehost-queue.md index dbdecaf..9750296 100644 --- a/docs/rehost-queue.md +++ b/docs/rehost-queue.md @@ -27,7 +27,11 @@ Working rule: and any stable region-id or class discriminator that can drive shellless city-connection service. The newly grounded queue-node probe for the atlas-backed kind-`7` notice records is a negative result on `q.gms`, `p.gms`, and `Autosave.gms`, so the next region pass should not - assume that the transient `[world+0x66a6]` queue family is persisted in ordinary saves. + assume that the transient `[world+0x66a6]` queue family is persisted in ordinary saves; the + region trace now also carries the concrete queued/service owners (`0x00422100`, `0x004337c0`, + `0x00437c00`, `0x004c7520`, `0x004358d0`, `0x00438710`, `0x00420030/0x00420280`, + `0x0047efe0`) so the next pass can focus on the missing saved latches and stable region id/class + rather than on rediscovering the outer service family. - 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 @@ -91,6 +95,10 @@ Working rule: consumer candidates rooted at the `Infrastructure` child attach/rebuild/serializer helpers and the later route/local-runtime follow-on owners. That means the next `0x38a5` pass can be targeted static mapping instead of another generic scan. +- The region trace now also carries the corresponding atlas-backed candidate owner strip above the + unresolved save latches, so the region frontier is now explicitly “missing persisted owner seam + for `[region+0x25e/+0x276/+0x302/+0x316]` and stable region id/class,” not “unknown service + family.” - 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`