Ground acquisition stream-load candidate bridge
This commit is contained in:
parent
ac8c2e9836
commit
bf16237beb
2 changed files with 40 additions and 19 deletions
|
|
@ -4599,9 +4599,9 @@ fn build_periodic_company_service_trace_report(
|
|||
let near_city_acquisition_site_cached_tri_lane_projection_status =
|
||||
"delta_reader_grounded_projection_missing".to_string();
|
||||
let near_city_acquisition_candidate_subtype_projection_status =
|
||||
"cached_candidate_id_bridge_grounded_projection_missing".to_string();
|
||||
"cached_candidate_id_bridge_grounded_via_stream_load".to_string();
|
||||
let near_city_acquisition_backing_record_projection_status =
|
||||
"cached_source_candidate_bridge_grounded_projection_missing".to_string();
|
||||
"stream_load_callback_grounded_via_0x40ce60".to_string();
|
||||
let near_city_acquisition_projection_hypotheses = vec![
|
||||
SmpServiceConsumerHypothesis {
|
||||
label: "site_owner_and_self_id_replay_from_post_load_refresh".to_string(),
|
||||
|
|
@ -4643,37 +4643,37 @@ fn build_periodic_company_service_trace_report(
|
|||
},
|
||||
SmpServiceConsumerHypothesis {
|
||||
label: "cached_source_candidate_id_to_subtype_projection".to_string(),
|
||||
status: "cached_candidate_bridge_grounded_restore_projection_missing".to_string(),
|
||||
status: "grounded_stream_load_callback_0x40ce60".to_string(),
|
||||
candidate_consumers: vec![
|
||||
"0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70".to_string(),
|
||||
"0x005c8c50 +0x40 stream-load callback 0x0040ce60".to_string(),
|
||||
"0x0040cd70 cached source/candidate resolver seeding [site+0x3cc/+0x3d0]".to_string(),
|
||||
"0x0040cee0 cached candidate resolver through 0x0062b268".to_string(),
|
||||
"0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0 aux-candidate load chain".to_string(),
|
||||
],
|
||||
evidence: vec![
|
||||
"[site+0x04] backing-record selector owner is grounded, but the stronger checked-in bridge is now [site+0x3cc/+0x3d0]".to_string(),
|
||||
"direct local binary inspection now shows the placed-structure stream-load path 0x00413280 dispatching per-entry vtable slot +0x40 on the 0x005c8c50 specialization table, and that slot resolves to 0x0040ce60".to_string(),
|
||||
"0x0040ce60 canonicalizes the Radio Station stem and then re-enters 0x0040cd70 plus 0x0045c150 on stream load".to_string(),
|
||||
"0x0040cd70 rebuilds cached source id [site+0x3cc] and candidate/profile id [site+0x3d0]".to_string(),
|
||||
"0x0040cee0 resolves cached candidate id [site+0x3d0] back into the live candidate pool 0x0062b268".to_string(),
|
||||
"0x004138f0 already counts live placed structures by cached candidate id [site+0x3d0], confirming that lane as a real live selector bridge".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 replay or restore owner yet guarantees the cached candidate id bridge [site+0x3d0] is projected for the acquisition-side rows before 0x0040d360 runs".to_string(),
|
||||
],
|
||||
blockers: Vec::new(),
|
||||
},
|
||||
];
|
||||
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 or replay projection of [site+0x2a4] into restored live rows before 0x004269b0 commits the chosen site; constructor-side 0x00480210 already seeds this lane for new linked-site records".to_string(),
|
||||
"save payload or restore owner for [site+0x310/+0x338/+0x360] cached tri-lane sampled by 0x0040cac0; current binary scan finds no direct placed-structure runtime writer".to_string(),
|
||||
"restore projection that guarantees cached candidate id bridge [site+0x3d0] is populated for the acquisition-side rows before 0x0040d360 consumes subtype byte [candidate+0x32] == 4".to_string(),
|
||||
];
|
||||
let near_city_acquisition_region_lane_statuses = vec![
|
||||
"[site+0x276] owner-present gate: consumed directly by 0x004014b0, and the live owner-company meaning is already grounded through 0x0047efe0, but its save-native or replay projection is still missing".to_string(),
|
||||
"[site+0x2a4] placed-structure id lane: peer-chain helpers already ground this as the record's own site id, and constructor-side 0x00480210 seeds it for new linked-site rows, but the save or replay projection into restored live placed-structure rows is still missing for the 0x004014b0 commit path".to_string(),
|
||||
"[site+0x310/+0x338/+0x360] cached tri-lane: exact delta reader grounded at 0x0040cac0 and deferred additive accumulator/reset helper grounded at 0x0040c9a0, but the current binary write scan still finds no direct placed-structure runtime writer, so the lane now looks restore-owned rather than service-produced".to_string(),
|
||||
"placed-structure subtype filter: 0x0040d360 is the exact test [candidate+0x32] == 4, and the owning subtype byte is already bounded under 0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0; the remaining gap is projecting [site+0x04] back into that loaded candidate row".to_string(),
|
||||
"placed-structure subtype filter: 0x0040d360 is the exact test [candidate+0x32] == 4, the owning subtype byte is already bounded under 0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0, and direct local binary inspection now grounds stream-load callback 0x0040ce60 as the restore-side bridge into [site+0x3cc/+0x3d0]".to_string(),
|
||||
];
|
||||
let atlas_candidate_consumers = vec![
|
||||
"0x004019e0 periodic company outer service owner".to_string(),
|
||||
|
|
@ -4746,6 +4746,8 @@ fn build_periodic_company_service_trace_report(
|
|||
.to_string(),
|
||||
"0x0040c9a0 deferred additive accumulator/reset helper folding tri-lane [site+0x310/+0x338/+0x360] into [site+0x2b4/+0x2b8/+0x2bc] and mirroring the nine-dword side array rooted at [site+0x2e4]"
|
||||
.to_string(),
|
||||
"0x005c8c50 +0x40 stream-load callback 0x0040ce60 canonicalizing the site stem and re-entering 0x0040cd70 / 0x0045c150 for restored rows"
|
||||
.to_string(),
|
||||
"0x0052edf0 generic base constructor seeding [this+0x04] from caller arg 1".to_string(),
|
||||
"0x00455b70 placed-structure specialization constructor feeding 0x0052edf0 arg 3 as the primary selector and arg 1 as fallback"
|
||||
.to_string(),
|
||||
|
|
@ -4940,6 +4942,9 @@ fn build_periodic_company_service_trace_report(
|
|||
notes.push(
|
||||
"Direct local binary inspection now also gives the tri-lane one concrete runtime role: 0x0040c9a0 folds [site+0x310/+0x338/+0x360] into the local scalar band [site+0x2b4/+0x2b8/+0x2bc], mirrors the nine-dword side array rooted at [site+0x2e4], and then clears the tri-lane. Together with the existing delta reader 0x0040cac0, that makes the lane look like a deferred additive cache handed off by restore rather than an ordinary live service output.".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"Direct local binary inspection now grounds the cached-candidate restore bridge too: the placed-structure stream-load owner 0x00413280 dispatches per-entry vtable slot +0x40 on the 0x005c8c50 specialization table, that slot resolves to 0x0040ce60, and 0x0040ce60 immediately re-enters 0x0040cd70 plus 0x0045c150. So the acquisition-side cached source/candidate bridge [site+0x3cc/+0x3d0] is no longer a generic restore mystery for stream-loaded rows; the remaining restored-row gaps are [site+0x276], [site+0x2a4], and the deferred tri-lane.".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"Direct disassembly now tightens the remaining placed-structure lanes too: 0x0040cac0 is only the raw tri-lane delta reader over [site+0x310/+0x338/+0x360]; 0x0040d360 is only the exact subtype test [candidate+0x32] == 4; and the current binary write scan finds no direct placed-structure runtime writer for either [site+0x2a4] or [site+0x310/+0x338/+0x360], which now makes both lanes look payload/restore-owned rather than service-produced.".to_string(),
|
||||
);
|
||||
|
|
@ -27945,7 +27950,7 @@ mod tests {
|
|||
let trace = build_periodic_company_service_trace_report(&analysis);
|
||||
assert_eq!(trace.selected_company_id, Some(7));
|
||||
assert_eq!(trace.atlas_candidate_consumers.len(), 9);
|
||||
assert_eq!(trace.known_bridge_helpers.len(), 51);
|
||||
assert_eq!(trace.known_bridge_helpers.len(), 52);
|
||||
assert_eq!(trace.next_owner_questions.len(), 4);
|
||||
assert_eq!(trace.companies.len(), 1);
|
||||
assert_eq!(
|
||||
|
|
@ -28033,11 +28038,11 @@ mod tests {
|
|||
);
|
||||
assert_eq!(
|
||||
trace.near_city_acquisition_candidate_subtype_projection_status,
|
||||
"cached_candidate_id_bridge_grounded_projection_missing"
|
||||
"cached_candidate_id_bridge_grounded_via_stream_load"
|
||||
);
|
||||
assert_eq!(
|
||||
trace.near_city_acquisition_backing_record_projection_status,
|
||||
"cached_source_candidate_bridge_grounded_projection_missing"
|
||||
"stream_load_callback_grounded_via_0x40ce60"
|
||||
);
|
||||
assert_eq!(trace.near_city_acquisition_projection_hypotheses.len(), 3);
|
||||
assert_eq!(
|
||||
|
|
@ -28062,7 +28067,7 @@ mod tests {
|
|||
);
|
||||
assert_eq!(
|
||||
trace.near_city_acquisition_projection_hypotheses[2].status,
|
||||
"cached_candidate_bridge_grounded_restore_projection_missing"
|
||||
"grounded_stream_load_callback_0x40ce60"
|
||||
);
|
||||
assert!(
|
||||
trace.near_city_acquisition_projection_hypotheses[0]
|
||||
|
|
@ -28088,6 +28093,12 @@ mod tests {
|
|||
.iter()
|
||||
.any(|line| line.contains("0x0040c9a0"))
|
||||
);
|
||||
assert!(
|
||||
trace.near_city_acquisition_projection_hypotheses[2]
|
||||
.evidence
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00413280") && line.contains("0x0040ce60"))
|
||||
);
|
||||
assert!(
|
||||
trace.near_city_acquisition_projection_hypotheses[2]
|
||||
.candidate_consumers
|
||||
|
|
@ -28100,7 +28111,7 @@ mod tests {
|
|||
.len(),
|
||||
12
|
||||
);
|
||||
assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 4);
|
||||
assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 3);
|
||||
assert_eq!(trace.near_city_acquisition_region_lane_statuses.len(), 4);
|
||||
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
||||
line.contains("0x00420030 / 0x00420280")
|
||||
|
|
@ -28236,7 +28247,8 @@ mod tests {
|
|||
.iter()
|
||||
.any(
|
||||
|line| line.contains("0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0")
|
||||
&& line.contains("[site+0x04]")
|
||||
&& line.contains("0x0040ce60")
|
||||
&& line.contains("[site+0x3cc/+0x3d0]")
|
||||
)
|
||||
);
|
||||
assert!(
|
||||
|
|
@ -28396,6 +28408,14 @@ mod tests {
|
|||
&& line.contains("[site+0x310/+0x338/+0x360]")
|
||||
&& line.contains("[site+0x2b4/+0x2b8/+0x2bc]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.known_bridge_helpers
|
||||
.iter()
|
||||
.any(|line| line.contains("0x005c8c50 +0x40")
|
||||
&& line.contains("0x0040ce60")
|
||||
&& line.contains("0x0040cd70 / 0x0045c150"))
|
||||
);
|
||||
let city_branch = trace.companies[0]
|
||||
.branches
|
||||
.iter()
|
||||
|
|
|
|||
|
|
@ -94,8 +94,8 @@ Working rule:
|
|||
- site owner-company lane = `live_meaning_grounded_projection_missing`
|
||||
- site self-id lane = `live_meaning_grounded_projection_missing`
|
||||
- site cached tri-lane = `delta_reader_grounded_projection_missing`
|
||||
- candidate subtype lane = `cached_candidate_id_bridge_grounded_projection_missing`
|
||||
- backing-record selector bridge = `cached_source_candidate_bridge_grounded_projection_missing`
|
||||
- candidate subtype lane = `cached_candidate_id_bridge_grounded_via_stream_load`
|
||||
- backing-record selector bridge = `stream_load_callback_grounded_via_0x40ce60`
|
||||
- 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`
|
||||
|
|
@ -116,14 +116,15 @@ Working rule:
|
|||
direct local binary inspection shows `0x0040c9a0` folding `[site+0x310/+0x338/+0x360]` into
|
||||
`[site+0x2b4/+0x2b8/+0x2bc]`, mirroring the nine-dword side array rooted at `[site+0x2e4]`,
|
||||
and then clearing the tri-lane
|
||||
- the cached source/candidate bridge is now grounded on stream load too:
|
||||
direct local binary inspection shows `0x00413280` dispatching per-entry vtable slot `+0x40`
|
||||
on the `0x005c8c50` specialization table, that slot resolving to `0x0040ce60`, and
|
||||
`0x0040ce60` immediately re-entering `0x0040cd70` plus `0x0045c150`
|
||||
- the third hypothesis is now a cached source/candidate bridge question, not just a raw
|
||||
`[site+0x04]` selector question:
|
||||
`0x0040cd70` seeds `[site+0x3cc/+0x3d0]` from `0x62b2fc / 0x62b268`,
|
||||
`0x0040cee0` resolves cached candidate id `[site+0x3d0]` back into the live candidate pool,
|
||||
and `0x004138f0` already counts live placed structures by that cached candidate id
|
||||
- that leaves the remaining subtype blocker narrower:
|
||||
no checked-in replay or restore owner yet guarantees `[site+0x3d0]` is populated for the
|
||||
acquisition-side rows before `0x0040d360` consumes candidate subtype byte `[candidate+0x32]`
|
||||
- the checked-in consumer side is tighter too:
|
||||
`0x0040dc40` already consumes live owner company `[site+0x276]`, company stat-family
|
||||
`0x2329/0x0d`, candidate field `[candidate+0x22]`, and the projected-cell validation strip
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue