Separate infrastructure route bridge from child cache

This commit is contained in:
Jan Petykiewicz 2026-04-18 17:29:59 -07:00
commit edf6685e08

View file

@ -4514,7 +4514,7 @@ fn build_infrastructure_asset_trace_report(
"With 0x00491c60, 0x0048a6c0, 0x00490960, 0x00455a40, and 0x004559d0 now grounded as the full child-construction and write-side dispatch chain for the `0x38a5/0x38a6/0x38a7` family, how do the remaining compact-prefix regimes subdivide the already-mapped save-side mode families (0x0a BallastCap, 0x0b TrackCap, 0x02 Tunnel, 0x01 Bridge, with 0x03 Overpass only grounded statically) before they surface in the seeded lanes [this+0x206/+0x20a/+0x20e], the slot +0x4c serializer, and the trailing 0x52ec50 footer path?".to_string(),
"Inside the grounded overpass/ballast branch ([this+0x226]==3) of the paired chooser siblings, when do the fixed BallastCap and Overpass literals (0x5cb138/0x5cb150 and 0x5cb168/0x5cb180) fire, and does the pure BallastCap class 0x0055/0x00 stay a boundary artifact or become a real outer prelude consumed by 0x0048dcf0?".to_string(),
"Which 0x38a5 embedded name-pair groups survive into the per-child vtable +0x40 payload callbacks dispatched through 0x00455a50?".to_string(),
"Is cached primary-child slot [this+0x248] the first owner-visible bridge from the restored child stream into route-entry rebuild once the bridge two-child class is isolated?".to_string(),
"After the direct route-entry bridge helpers over [this+0x206/+0x20a/+0x20e] are grounded, which later route/local-runtime owner above 0x00448a70/0x00493660/0x0048b660 still depends on the remaining mixed exact classes once [this+0x248] is demoted to child-list cache/cleanup state?".to_string(),
];
let candidate_consumer_hypotheses = vec![
SmpServiceConsumerHypothesis {
@ -4562,6 +4562,8 @@ fn build_infrastructure_asset_trace_report(
"that caller-matrix split now rules out one easy explanation for the mixed save-side prefixes: the shared 0xff0000ff/0x0001/0xff class cannot come from selector-copy state alone, because its dominant TrackCap rows come from mode-0x0b callers that bypass selector-copy entirely while the tunnel residue comes from mode-0x02 callers that necessarily flow through it".to_string(),
"the current grounded q.gms side-buffer name corpus now maps directly onto those constructor families too: BridgeSTWood_Section.3dp aligns with mode 0x01 Bridge, TunnelSTBrick_Cap/Section.3dp with mode 0x02 Tunnel, BallastCapST_Cap.3dp with mode 0x0a BallastCap, and TrackCapST_Cap.3dp with mode 0x0b TrackCap; only the Overpass mode-0x03 family remains static-only in the current save corpus".to_string(),
"direct disassembly now also shows 0x00490200 reading the seeded lanes [this+0x206/+0x20a/+0x20e] back through the live route collection at 0x006cfca8, classifying peer relationships with [this+0x216/+0x218/+0x201/+0x202], and therefore acting as a route/link comparator above the same child payload fields that 0x004559d0 later serializes".to_string(),
"the direct route-entry bridge is tighter now too: 0x0048e140/0x0048e160/0x0048e180 simply resolve [this+0x206/+0x20a/+0x20e] through the live route collection at 0x006cfca8 and return the pointed route-entry or null, while 0x0048e1a0 walks the first two seeded lanes, resolves each peer route, and compares [peer+0x20e]/[peer+0x201] plus conditional [peer+0x206]/[peer+0x20a] against [this+0x202] before returning a boolean match".to_string(),
"the neighboring cached-primary-child path is narrower now too: 0x0048ed30 reads [this+0x248], walks child list [this+0x08] through 0x556ef0/0x556fa0, clears [this+0x248] when it matches the current child, destroys the child through 0x455d20/0x455650/0x53b080, and tears the list down through 0x556f20/0x5570b0/0x5571d0. That makes [this+0x248] a child-list cache and cleanup lane rather than the first route-entry bridge.".to_string(),
"the chooser tables now decode to concrete asset families too: 0x621a44/0x621a54 feed BridgeST caps/sections, 0x621a64 feeds TunnelST cap/section variants, 0x621a74/0x621a84 feed BridgeDT caps/sections, and 0x621a94 feeds TunnelDT variants; fixed literals 0x5cb138/0x5cb150 are BallastCapDT/ST and 0x5cb168/0x5cb180 are OverpassDT/ST".to_string(),
"the top-level chooser branches are grounded now too: [this+0x226]==1 routes bridge families, [this+0x226]==2 routes tunnel families, [this+0x226]==3 routes overpass/ballast families, and bit 0x20 in [this+0x24c] selects the cap-oriented side over the section-oriented side inside those DT/ST siblings".to_string(),
"direct disassembly now also shows 0x0048a340 as the exact chooser-state setter: its dword argument writes [this+0x226], its next two byte arguments write [this+0x219] and [this+0x251], and its final byte argument toggles bit 0x20 in [this+0x24c]".to_string(),
@ -26307,6 +26309,12 @@ mod tests {
&& line.contains("0x02 Tunnel")
&& line.contains("0x01 Bridge")
}));
assert!(trace.next_owner_questions.iter().any(|line| {
line.contains("direct route-entry bridge helpers")
&& line.contains("0x00448a70/0x00493660/0x0048b660")
&& line.contains("[this+0x248]")
&& line.contains("cache/cleanup state")
}));
assert!(trace.known_bridge_helpers.iter().any(
|line| line.contains("0x004a2c80/0x004a34e0")
&& line.contains("paired upstream infrastructure composition choosers")
@ -26537,6 +26545,24 @@ mod tests {
&& line.contains("0x006cfca8")
&& line.contains("[this+0x216/+0x218/+0x201/+0x202]"))
);
assert!(
trace.candidate_consumer_hypotheses[0]
.evidence
.iter()
.any(|line| line.contains("0x0048e140/0x0048e160/0x0048e180")
&& line.contains("[this+0x206/+0x20a/+0x20e]")
&& line.contains("0x0048e1a0")
&& line.contains("[this+0x202]"))
);
assert!(
trace.candidate_consumer_hypotheses[0]
.evidence
.iter()
.any(|line| line.contains("0x0048ed30")
&& line.contains("[this+0x248]")
&& line.contains("[this+0x08]")
&& line.contains("0x455d20/0x455650/0x53b080"))
);
assert!(
trace.candidate_consumer_hypotheses[0]
.evidence