Rule out fixed infrastructure policy row as child header

This commit is contained in:
Jan Petykiewicz 2026-04-18 14:17:47 -07:00
commit 1a0296ddd1
3 changed files with 32 additions and 3 deletions

View file

@ -4034,6 +4034,7 @@ fn build_infrastructure_asset_trace_report(
"[this+0x248] cached primary-child slot".to_string(),
"[this+0x206/+0x20a/+0x20e] route-entry resolver fields".to_string(),
"[this+0x1e2/+0x1e6/+0x1ea] published anchor triplet".to_string(),
"[this+0x4b/+0x4f/+0x53] companion local triplet lane".to_string(),
"child list [this+0x75] under the Infrastructure owner".to_string(),
"non-direct live-entry directory [collection+0x3c] with 12-byte rows (payload pointer, previous live id, next live id)".to_string(),
];
@ -4048,6 +4049,7 @@ fn build_infrastructure_asset_trace_report(
"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(),
"0x0052e8b0 runtime_object_publish_companion_triplet_lane_4b_4f_53".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(),
@ -4158,6 +4160,7 @@ fn build_infrastructure_asset_trace_report(
.map(|summary| summary.dominant_trailing_word_count)
.unwrap_or_default()
),
"direct disassembly now also shows 0x530720 publishing the first fixed-triplet lane into [this+0x1e2/+0x1e6/+0x1ea], while 0x52e8b0 publishes the second fixed-triplet lane into [this+0x4b/+0x4f/+0x53] and sets bit 0x02".to_string(),
"local .rdata at 0x005cfd00 now also proves the infrastructure child table uses the shared tagged callback strip directly: slot +0x40 = 0x455fc0, slot +0x48 = 0x455870, and slot +0x4c = 0x455930".to_string(),
"direct disassembly now shows 0x0048a1e0 cloning the first child triplet bands through 0x52e880/0x52e720, destroying the prior child, seeding a new literal Infrastructure child through 0x455b70 with payload seed 0x5c87a8, attaching through 0x5395d0 or 0x53a5d0, and republishing the two bands through 0x52e8b0/0x530720".to_string(),
"direct disassembly now also shows the outer owner at 0x0048dcf0 reading a child count plus optional primary-child ordinal from the tagged stream through 0x531150, zeroing [this+0x08], dispatching each fresh child through 0x455a50 -> vtable slot +0x40, culling ordinals above 5, and restoring cached primary-child slot [this+0x248] from the saved ordinal".to_string(),
@ -4165,7 +4168,7 @@ fn build_infrastructure_asset_trace_report(
],
blockers: vec![
"how the payload streams reached through 0x00518380 -> 0x00518140 align with the embedded 0x55f1 name-pair groups and compact-prefix regimes surfaced by the save-side probe".to_string(),
"which tagged values inside each payload stream correspond to the child count, optional primary-child ordinal, and the per-child shared tagged callback sequence consumed by 0x0048dcf0".to_string(),
"which outer-stream tagged values, outside the now-spoken-for fixed 0x55f2 triplets and short trailing flag bytes, correspond to the child count and optional primary-child ordinal consumed by 0x0048dcf0".to_string(),
"which restored child fields or grouped rows retain the 0x38a5 embedded name-pair semantics before route/local-runtime follow-ons take over".to_string(),
],
},
@ -22946,8 +22949,8 @@ mod tests {
let trace = build_infrastructure_asset_trace_report(&analysis);
assert!(trace.side_buffer_present);
assert_eq!(trace.triplet_alignment_overlap_count, 0);
assert_eq!(trace.known_owner_bridge_fields.len(), 5);
assert_eq!(trace.known_bridge_helpers.len(), 12);
assert_eq!(trace.known_owner_bridge_fields.len(), 6);
assert_eq!(trace.known_bridge_helpers.len(), 13);
assert_eq!(trace.next_owner_questions.len(), 3);
assert_eq!(trace.candidate_consumer_hypotheses.len(), 3);
assert_eq!(
@ -22996,6 +22999,16 @@ mod tests {
&& (line.contains("six 4-byte lanes") || line.contains("six dword lanes"))
})
);
assert!(
trace.candidate_consumer_hypotheses[0]
.evidence
.iter()
.any(|line| {
line.contains("0x530720")
&& line.contains("0x52e8b0")
&& line.contains("[this+0x4b/+0x4f/+0x53]")
})
);
assert_eq!(trace.branches[0].status, "grounded_separate_owner_seam");
assert_eq!(trace.branches[1].status, "disproved_by_grounded_probe");
}