Structure acquisition projection hypotheses

This commit is contained in:
Jan Petykiewicz 2026-04-18 21:28:20 -07:00
commit 261cc02e67
2 changed files with 94 additions and 0 deletions

View file

@ -3671,6 +3671,8 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
pub near_city_acquisition_candidate_subtype_projection_status: String, pub near_city_acquisition_candidate_subtype_projection_status: String,
pub near_city_acquisition_backing_record_projection_status: String, pub near_city_acquisition_backing_record_projection_status: String,
#[serde(default)] #[serde(default)]
pub near_city_acquisition_projection_hypotheses: Vec<SmpServiceConsumerHypothesis>,
#[serde(default)]
pub near_city_acquisition_remaining_owner_gaps: Vec<String>, pub near_city_acquisition_remaining_owner_gaps: Vec<String>,
#[serde(default)] #[serde(default)]
pub near_city_acquisition_region_lane_statuses: Vec<String>, pub near_city_acquisition_region_lane_statuses: Vec<String>,
@ -4597,6 +4599,60 @@ fn build_periodic_company_service_trace_report(
let near_city_acquisition_backing_record_projection_status = let near_city_acquisition_backing_record_projection_status =
"selector_owner_grounded_projection_sufficient_for_peer_helpers_not_candidate_row" "selector_owner_grounded_projection_sufficient_for_peer_helpers_not_candidate_row"
.to_string(); .to_string();
let near_city_acquisition_projection_hypotheses = vec![
SmpServiceConsumerHypothesis {
label: "site_owner_and_self_id_replay_from_post_load_refresh".to_string(),
status: "bounded_candidate".to_string(),
candidate_consumers: vec![
"0x00444690 late world bring-up caller".to_string(),
"0x004133b0 placed-structure local-runtime replay owner".to_string(),
"0x0040ee10 live-site position/scalar refresh helper".to_string(),
"0x00480710 linked-site runtime side-buffer and route-entry refresh".to_string(),
],
evidence: vec![
"[site+0x276] live owner-company meaning is grounded through 0x0047efe0 / 0x0040d210".to_string(),
"[site+0x2a4] self-id meaning is grounded through 0x0041f7e0 / 0x0041f810 / 0x0041f850".to_string(),
"0x00444690 -> 0x004133b0 -> 0x0040ee10 is the current checked-in replay family above live placed structures".to_string(),
],
blockers: vec![
"no checked-in replay write ownership yet ties 0x004133b0 / 0x0040ee10 directly to [site+0x276] or [site+0x2a4]".to_string(),
],
},
SmpServiceConsumerHypothesis {
label: "site_cached_tri_lane_payload_or_restore_owner".to_string(),
status: "bounded_candidate".to_string(),
candidate_consumers: vec![
"0x36b1/0x36b2/0x36b3 placed-structure triplet owner".to_string(),
"0x00455fc0 shared tagged payload loader".to_string(),
"0x00444690 -> 0x004133b0 replay strip".to_string(),
],
evidence: vec![
"0x0040cac0 is only the exact raw delta reader over [site+0x310/+0x338/+0x360]".to_string(),
"the current binary write scan finds no direct placed-structure runtime writer for [site+0x310/+0x338/+0x360]".to_string(),
"current checked-in save owners still do not serialize those lanes directly, which keeps payload or restore ownership as the leading hypothesis".to_string(),
],
blockers: vec![
"no checked-in triplet or side-buffer payload field is yet tied directly to the tri-lane".to_string(),
],
},
SmpServiceConsumerHypothesis {
label: "backing_record_selector_to_candidate_subtype_projection".to_string(),
status: "bounded_candidate".to_string(),
candidate_consumers: vec![
"0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70".to_string(),
"0x0052edf0 base constructor seeding [site+0x04]".to_string(),
"0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0 aux-candidate load chain".to_string(),
],
evidence: vec![
"[site+0x04] backing-record selector owner is grounded".to_string(),
"candidate subtype ownership is bounded under the aux-candidate load and stem-policy chain".to_string(),
"0x0040d360 only consumes the loaded candidate subtype byte [candidate+0x32] == 4".to_string(),
],
blockers: vec![
"no checked-in bridge yet maps one restored [site+0x04] selector value back onto the loaded aux-candidate row used by 0x0040d360".to_string(),
],
},
];
let near_city_acquisition_remaining_owner_gaps = vec![ let near_city_acquisition_remaining_owner_gaps = vec![
"save-native or replay projection of placed-structure owner-company field [site+0x276] for the acquisition-side owner-present gate; the live meaning is already grounded through 0x0047efe0".to_string(), "save-native or replay projection of placed-structure owner-company field [site+0x276] for the acquisition-side owner-present gate; the live meaning is already grounded through 0x0047efe0".to_string(),
"save or replay projection of [site+0x2a4] as the current record's placed-structure id lane before 0x004269b0 commits the chosen site".to_string(), "save or replay projection of [site+0x2a4] as the current record's placed-structure id lane before 0x004269b0 commits the chosen site".to_string(),
@ -4927,6 +4983,7 @@ fn build_periodic_company_service_trace_report(
near_city_acquisition_site_cached_tri_lane_projection_status, near_city_acquisition_site_cached_tri_lane_projection_status,
near_city_acquisition_candidate_subtype_projection_status, near_city_acquisition_candidate_subtype_projection_status,
near_city_acquisition_backing_record_projection_status, near_city_acquisition_backing_record_projection_status,
near_city_acquisition_projection_hypotheses,
near_city_acquisition_remaining_owner_gaps, near_city_acquisition_remaining_owner_gaps,
near_city_acquisition_region_lane_statuses, near_city_acquisition_region_lane_statuses,
atlas_candidate_consumers, atlas_candidate_consumers,
@ -27944,6 +28001,39 @@ mod tests {
trace.near_city_acquisition_backing_record_projection_status, trace.near_city_acquisition_backing_record_projection_status,
"selector_owner_grounded_projection_sufficient_for_peer_helpers_not_candidate_row" "selector_owner_grounded_projection_sufficient_for_peer_helpers_not_candidate_row"
); );
assert_eq!(trace.near_city_acquisition_projection_hypotheses.len(), 3);
assert_eq!(
trace.near_city_acquisition_projection_hypotheses[0].label,
"site_owner_and_self_id_replay_from_post_load_refresh"
);
assert_eq!(
trace.near_city_acquisition_projection_hypotheses[1].label,
"site_cached_tri_lane_payload_or_restore_owner"
);
assert_eq!(
trace.near_city_acquisition_projection_hypotheses[2].label,
"backing_record_selector_to_candidate_subtype_projection"
);
assert!(
trace.near_city_acquisition_projection_hypotheses[0]
.candidate_consumers
.iter()
.any(|line| line.contains("0x004133b0"))
);
assert!(
trace.near_city_acquisition_projection_hypotheses[1]
.candidate_consumers
.iter()
.any(|line| line.contains("0x36b1/0x36b2/0x36b3"))
);
assert!(
trace.near_city_acquisition_projection_hypotheses[2]
.candidate_consumers
.iter()
.any(|line| line.contains(
"0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70"
))
);
assert_eq!( assert_eq!(
trace trace
.near_city_acquisition_runtime_backed_input_families .near_city_acquisition_runtime_backed_input_families

View file

@ -95,6 +95,10 @@ Working rule:
- site cached tri-lane = `delta_reader_grounded_projection_missing` - site cached tri-lane = `delta_reader_grounded_projection_missing`
- candidate subtype lane = `owner_strip_grounded_backing_record_projection_missing` - candidate subtype lane = `owner_strip_grounded_backing_record_projection_missing`
- backing-record selector bridge = `selector_owner_grounded_projection_sufficient_for_peer_helpers_not_candidate_row` - backing-record selector bridge = `selector_owner_grounded_projection_sufficient_for_peer_helpers_not_candidate_row`
- the same trace now also carries three explicit projection hypotheses for the next pass:
- `site_owner_and_self_id_replay_from_post_load_refresh`
- `site_cached_tri_lane_payload_or_restore_owner`
- `backing_record_selector_to_candidate_subtype_projection`
- direct disassembly now shows the generic base constructor `0x0052edf0` clearing base state - direct disassembly now shows the generic base constructor `0x0052edf0` clearing base state
through `0x0052ecd0` and then writing `[this+0x04]` from caller arg `1` through `0x0052ecd0` and then writing `[this+0x04]` from caller arg `1`
- `0x00455b70` is the concrete placed-structure specialization constructor feeding - `0x00455b70` is the concrete placed-structure specialization constructor feeding