Expose bridge helpers in higher-layer traces

This commit is contained in:
Jan Petykiewicz 2026-04-18 12:59:56 -07:00
commit 03275ecfdc

View file

@ -2955,6 +2955,8 @@ pub struct SmpRegionServiceTraceReport {
#[serde(default)]
pub known_owner_bridge_fields: Vec<String>,
#[serde(default)]
pub known_bridge_helpers: Vec<String>,
#[serde(default)]
pub next_owner_questions: Vec<String>,
#[serde(default)]
pub candidate_consumer_hypotheses: Vec<SmpServiceConsumerHypothesis>,
@ -2990,6 +2992,8 @@ pub struct SmpInfrastructureAssetTraceReport {
#[serde(default)]
pub known_owner_bridge_fields: Vec<String>,
#[serde(default)]
pub known_bridge_helpers: Vec<String>,
#[serde(default)]
pub next_owner_questions: Vec<String>,
#[serde(default)]
pub candidate_consumer_hypotheses: Vec<SmpServiceConsumerHypothesis>,
@ -3636,6 +3640,14 @@ fn build_region_service_trace_report(
"[region+0x356] localized region name".to_string(),
"[region+0x23a] world-scalar-backed region lane used in notices".to_string(),
];
let known_bridge_helpers = vec![
"0x004207d0 city_site_format_connection_bonus_status_label".to_string(),
"0x00420030 city_connection_bonus_exists_matching_peer_site".to_string(),
"0x00420280 city_connection_bonus_select_first_matching_peer_site".to_string(),
"0x0047efe0 placed_structure_query_linked_company_id".to_string(),
"0x00480bb0 placed_structure_refresh_linked_site_display_name_and_route_anchor".to_string(),
"0x00420650 city_connection_bonus_release_or_clear_adjacent_state".to_string(),
];
let next_owner_questions = vec![
"Which persisted owner seam rebuilds or restores [region+0x25e/+0x276/+0x302/+0x316]?".to_string(),
"Which stable region id or class discriminator survives save/load strongly enough to drive 0x004358d0?".to_string(),
@ -3768,6 +3780,7 @@ fn build_region_service_trace_report(
.unwrap_or_default(),
atlas_candidate_consumers,
known_owner_bridge_fields,
known_bridge_helpers,
next_owner_questions,
candidate_consumer_hypotheses,
entries,
@ -3813,6 +3826,14 @@ fn build_infrastructure_asset_trace_report(
"[this+0x1e2/+0x1e6/+0x1ea] published anchor triplet".to_string(),
"child list [this+0x75] under the Infrastructure owner".to_string(),
];
let known_bridge_helpers = vec![
"0x005395d0 shared child-attach list owner".to_string(),
"0x00539530 shared position-lane seed helper".to_string(),
"0x0053a5b0 shared third position-lane seed helper".to_string(),
"0x00530720 runtime_object_publish_anchor_triplet_and_optionally_rebind_world_cell_handle"
.to_string(),
"0x0048e140 / 0x0048e160 / 0x0048e180 route-entry resolver helpers".to_string(),
];
let next_owner_questions = vec![
"Do the 0x38a5 compact-prefix/name-pair groups feed the first-child triplet clone lane, the caller-supplied payload-stem lane, or only later route/local-runtime refresh?".to_string(),
"Is cached primary-child slot [this+0x248] the first owner-visible bridge from the side-buffer seam into route-entry rebuild?".to_string(),
@ -3984,6 +4005,7 @@ fn build_infrastructure_asset_trace_report(
.unwrap_or_default(),
atlas_candidate_consumers,
known_owner_bridge_fields,
known_bridge_helpers,
next_owner_questions,
candidate_consumer_hypotheses,
branches,
@ -21802,6 +21824,7 @@ mod tests {
assert_eq!(trace.queued_notice_record_count, 0);
assert!(!trace.atlas_candidate_consumers.is_empty());
assert_eq!(trace.known_owner_bridge_fields.len(), 6);
assert_eq!(trace.known_bridge_helpers.len(), 6);
assert_eq!(trace.next_owner_questions.len(), 3);
assert_eq!(trace.candidate_consumer_hypotheses.len(), 3);
assert_eq!(
@ -21898,6 +21921,7 @@ mod tests {
assert!(trace.side_buffer_present);
assert_eq!(trace.triplet_alignment_overlap_count, 0);
assert_eq!(trace.known_owner_bridge_fields.len(), 4);
assert_eq!(trace.known_bridge_helpers.len(), 5);
assert_eq!(trace.next_owner_questions.len(), 3);
assert_eq!(trace.candidate_consumer_hypotheses.len(), 3);
assert_eq!(