Bound infrastructure asset consumer candidates

This commit is contained in:
Jan Petykiewicz 2026-04-18 12:40:06 -07:00
commit 61aed9e9ab
2 changed files with 47 additions and 1 deletions

View file

@ -2970,8 +2970,16 @@ pub struct SmpInfrastructureAssetTraceReport {
#[serde(default)]
pub side_buffer_unique_name_pair_count: usize,
#[serde(default)]
pub bridge_like_name_pair_count: usize,
#[serde(default)]
pub tunnel_like_name_pair_count: usize,
#[serde(default)]
pub track_cap_like_name_pair_count: usize,
#[serde(default)]
pub triplet_alignment_overlap_count: usize,
#[serde(default)]
pub atlas_candidate_consumers: Vec<String>,
#[serde(default)]
pub branches: Vec<SmpServiceTraceBranchStatus>,
#[serde(default)]
pub notes: Vec<String>,
@ -3666,6 +3674,31 @@ fn build_infrastructure_asset_trace_report(
let alignment = analysis
.placed_structure_dynamic_side_buffer_alignment
.as_ref();
let name_pair_summaries = side_buffer
.map(|probe| probe.name_pair_summaries.as_slice())
.unwrap_or(&[]);
let bridge_like_name_pair_count = name_pair_summaries
.iter()
.filter(|summary| summary.primary_name.contains("Bridge"))
.count();
let tunnel_like_name_pair_count = name_pair_summaries
.iter()
.filter(|summary| summary.primary_name.contains("Tunnel"))
.count();
let track_cap_like_name_pair_count = name_pair_summaries
.iter()
.filter(|summary| summary.primary_name.contains("TrackCap"))
.count();
let atlas_candidate_consumers = vec![
"0x0048a1e0 infrastructure child attach helper".to_string(),
"0x0048dd50 infrastructure child rebuild loop".to_string(),
"0x00490a3c infrastructure payload attach helper".to_string(),
"0x004559d0 infrastructure tagged string-triplet serializer".to_string(),
"0x00455870 infrastructure tagged string-triplet load companion".to_string(),
"0x00455930 infrastructure scalar-triplet serializer sibling".to_string(),
"0x00448a70 / 0x00493660 / 0x0048b660 route and world follow-on family".to_string(),
"0x004133b0 placed-structure local-runtime refresh outer owner".to_string(),
];
let branches = vec![
build_service_trace_branch_status(
"infrastructure_asset_owner_seam",
@ -3752,9 +3785,13 @@ fn build_infrastructure_asset_trace_report(
side_buffer_unique_name_pair_count: side_buffer
.map(|probe| probe.unique_embedded_name_pair_count)
.unwrap_or_default(),
bridge_like_name_pair_count,
tunnel_like_name_pair_count,
track_cap_like_name_pair_count,
triplet_alignment_overlap_count: alignment
.map(|probe| probe.overlapping_name_pair_count)
.unwrap_or_default(),
atlas_candidate_consumers,
branches,
notes,
}