diff --git a/crates/rrt-runtime/src/smp.rs b/crates/rrt-runtime/src/smp.rs index a081dc1..b30b50d 100644 --- a/crates/rrt-runtime/src/smp.rs +++ b/crates/rrt-runtime/src/smp.rs @@ -3471,6 +3471,7 @@ pub struct SmpPeriodicCompanyServiceTraceReport { pub peer_site_selector_candidate_owner_strip: String, pub peer_site_selector_candidate_persisted_tag_hex: String, pub peer_site_selector_candidate_selector_lane: String, + pub peer_site_selector_candidate_class_identity_status: String, #[serde(default)] pub peer_site_selector_candidate_helper_linkage: Vec, #[serde(default)] @@ -4064,6 +4065,8 @@ fn build_periodic_company_service_trace_report( "0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70".to_string(); let peer_site_selector_candidate_persisted_tag_hex = "0x5dc1".to_string(); let peer_site_selector_candidate_selector_lane = "[owner+0x23e]".to_string(); + let peer_site_selector_candidate_class_identity_status = + "direct_local_helper_linked_candidate".to_string(); let peer_site_selector_candidate_helper_linkage = vec![ "0x0040ceab -> 0x0045c150".to_string(), "0x0040d1a1 -> 0x0045c310".to_string(), @@ -4317,6 +4320,7 @@ fn build_periodic_company_service_trace_report( peer_site_selector_candidate_owner_strip, peer_site_selector_candidate_persisted_tag_hex, peer_site_selector_candidate_selector_lane, + peer_site_selector_candidate_class_identity_status, peer_site_selector_candidate_helper_linkage, atlas_candidate_consumers, known_bridge_helpers, @@ -25983,6 +25987,10 @@ mod tests { trace.peer_site_selector_candidate_selector_lane, "[owner+0x23e]" ); + assert_eq!( + trace.peer_site_selector_candidate_class_identity_status, + "direct_local_helper_linked_candidate" + ); assert_eq!(trace.peer_site_selector_candidate_helper_linkage.len(), 2); assert!(trace.atlas_candidate_consumers.iter().any(|line| { line.contains("0x00420030 / 0x00420280") diff --git a/docs/rehost-queue.md b/docs/rehost-queue.md index c2b7a11..b7cbe18 100644 --- a/docs/rehost-queue.md +++ b/docs/rehost-queue.md @@ -109,7 +109,8 @@ Working rule: - use the structured periodic-company trace candidate fields now checked into `inspect-periodic-company-service-trace`: owner strip `0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70`, persisted tag - `0x5dc1`, selector lane `[owner+0x23e]`, and helper linkage + `0x5dc1`, selector lane `[owner+0x23e]`, class-identity status + `direct_local_helper_linked_candidate`, and helper linkage `0x0040ceab -> 0x0045c150` / `0x0040d1a1 -> 0x0045c310` - decide whether the direct `0x0040ceab / 0x0040d1a1` linkage is enough to treat that save-backed owner family as the same class-0 site family consumed by