Structure region restore handoff hypothesis
This commit is contained in:
parent
c53b4d482e
commit
957f251057
1 changed files with 60 additions and 2 deletions
|
|
@ -4942,6 +4942,7 @@ fn build_region_service_trace_report(
|
|||
let next_owner_questions = vec![
|
||||
"Which restore seam re-seeds [region+0x25e] and clears [region+0x302/+0x316] before the grounded 0x00422100 -> 0x004358d0 producer/consumer cycle runs again?".to_string(),
|
||||
"Which stable region id or class discriminator survives save/load strongly enough to drive 0x004358d0 after the class-0 raster/id rebuilds are ruled out?".to_string(),
|
||||
"Which later global restore continuation after 0x00444887 rehydrates [region+0x2a4] and [region+0x310/+0x338/+0x360] once the 0x00421510 -> 0x0041f5c0 -> 0x00455fc0 path and the 0x00444b90 -> 0x00420560 per-region follow-on are both ruled down?".to_string(),
|
||||
"How far can the grounded 0x00420030/0x00420280 plus 0x0047efe0 connection chain be rehosted directly before the transient queued-notice family matters again?".to_string(),
|
||||
];
|
||||
let candidate_consumer_hypotheses = vec![
|
||||
|
|
@ -5025,6 +5026,27 @@ fn build_region_service_trace_report(
|
|||
"needs the upstream restore seam for [region+0x25e/+0x302/+0x316] rather than more queue-side probing".to_string(),
|
||||
],
|
||||
},
|
||||
SmpServiceConsumerHypothesis {
|
||||
label: "later global restore continuation".to_string(),
|
||||
status: "next_global_restore_handoff_target".to_string(),
|
||||
candidate_consumers: vec![
|
||||
"0x00444887 broader restore continuation after region refresh".to_string(),
|
||||
"0x00487c20 territory_collection_refresh_records_from_tagged_bundle".to_string(),
|
||||
"0x0040b5d0 support_collection_refresh_records_from_tagged_bundle".to_string(),
|
||||
"0x00444b90 later per-region restore follow-on loop".to_string(),
|
||||
"0x00420560 region profile-derived scalar refresh helper".to_string(),
|
||||
],
|
||||
evidence: vec![
|
||||
"the checked-in region trace already grounds 0x00444887 as the first caller-side checkpoint above 0x00421510: it refreshes the region collection and then immediately advances into the territory and support collection refresh owners".to_string(),
|
||||
"the same grounded evidence already narrows the later per-region follow-on too: 0x00444b90 dispatches 0x00420560 over each live region after the broader restore continuation has already advanced".to_string(),
|
||||
"direct disassembly already rules that per-region follow-on down as a latch owner: 0x00420560 only zeroes and recomputes [region+0x312] from the embedded profile collection [region+0x37f]/[region+0x383] and lazily seeds the year-driven [region+0x317/+0x31b] band through 0x00420350, not [region+0x276/+0x302/+0x316]".to_string(),
|
||||
"that leaves the broader 0x00444887 continuation as the next structured restore seam above the ruled-down 0x00421510 -> 0x0041f5c0 -> 0x00455fc0 path when chasing acquisition-side lanes [region+0x2a4] and [region+0x310/+0x338/+0x360]".to_string(),
|
||||
],
|
||||
blockers: vec![
|
||||
"the concrete later-global restore owner that rehydrates [region+0x2a4] and [region+0x310/+0x338/+0x360] is still not grounded below the 0x00444887 continuation".to_string(),
|
||||
"territory and support collection refresh owners are adjacent in the same continuation and may still carry shared prerequisites before the region-side rebuild resumes".to_string(),
|
||||
],
|
||||
},
|
||||
SmpServiceConsumerHypothesis {
|
||||
label: "queued kind-7 modal dispatch path".to_string(),
|
||||
status: "shell_adjacent_reference_only".to_string(),
|
||||
|
|
@ -27386,8 +27408,8 @@ mod tests {
|
|||
assert!(!trace.atlas_candidate_consumers.is_empty());
|
||||
assert_eq!(trace.known_owner_bridge_fields.len(), 6);
|
||||
assert_eq!(trace.known_bridge_helpers.len(), 14);
|
||||
assert_eq!(trace.next_owner_questions.len(), 3);
|
||||
assert_eq!(trace.candidate_consumer_hypotheses.len(), 4);
|
||||
assert_eq!(trace.next_owner_questions.len(), 4);
|
||||
assert_eq!(trace.candidate_consumer_hypotheses.len(), 5);
|
||||
assert_eq!(
|
||||
trace.candidate_consumer_hypotheses[0].status,
|
||||
"highest_priority_static_mapping_target"
|
||||
|
|
@ -27396,6 +27418,10 @@ mod tests {
|
|||
trace.candidate_consumer_hypotheses[2].status,
|
||||
"secondary_candidate_after_pending_service"
|
||||
);
|
||||
assert_eq!(
|
||||
trace.candidate_consumer_hypotheses[3].status,
|
||||
"next_global_restore_handoff_target"
|
||||
);
|
||||
assert_eq!(
|
||||
trace.candidate_consumer_hypotheses[1].status,
|
||||
"parallel_static_mapping_target"
|
||||
|
|
@ -27462,6 +27488,38 @@ mod tests {
|
|||
&& line.contains("0x00455f60")
|
||||
&& line.contains("bit 0x10"))
|
||||
);
|
||||
assert!(
|
||||
trace.candidate_consumer_hypotheses[3]
|
||||
.candidate_consumers
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00444887"))
|
||||
);
|
||||
assert!(
|
||||
trace.candidate_consumer_hypotheses[3]
|
||||
.candidate_consumers
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00487c20"))
|
||||
);
|
||||
assert!(
|
||||
trace.candidate_consumer_hypotheses[3]
|
||||
.candidate_consumers
|
||||
.iter()
|
||||
.any(|line| line.contains("0x0040b5d0"))
|
||||
);
|
||||
assert!(
|
||||
trace.candidate_consumer_hypotheses[3]
|
||||
.evidence
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00444887")
|
||||
&& line.contains("0x00421510"))
|
||||
);
|
||||
assert!(
|
||||
trace.candidate_consumer_hypotheses[3]
|
||||
.evidence
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00444b90")
|
||||
&& line.contains("0x00420560"))
|
||||
);
|
||||
assert!(
|
||||
trace.candidate_consumer_hypotheses[1]
|
||||
.evidence
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue