Extract acquisition tri-lane formula inputs
This commit is contained in:
parent
c6f3683619
commit
7cb9edcf42
2 changed files with 67 additions and 0 deletions
|
|
@ -3689,6 +3689,8 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
|
|||
#[serde(default)]
|
||||
pub near_city_acquisition_tri_lane_direct_caller_families: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_tri_lane_formula_input_lanes: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_projection_hypotheses: Vec<SmpServiceConsumerHypothesis>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_remaining_owner_gaps: Vec<String>,
|
||||
|
|
@ -4693,6 +4695,13 @@ fn build_periodic_company_service_trace_report(
|
|||
"0x0044b81a is an owner-company-aware 0x0040d540 caller that also reaches 0x0040cb70 and 0x00436590 news/event id 0x65".to_string(),
|
||||
"0x004b70f5 / 0x004b7979 are broader 0x0040d540 callers routing through 0x004337a0 and downstream 0x00540120 / 0x00518140 state consumers".to_string(),
|
||||
];
|
||||
let near_city_acquisition_tri_lane_formula_input_lanes = vec![
|
||||
"0x00412560 uses candidate-row time window [+0x20/+0x22], owner/absence booleans [+0x24/+0x28], list count [+0x2c], and membership list [+0x44]".to_string(),
|
||||
"0x00412560 consumes world date and policy flags through 0x006cec78 fields [world+0x0d] and [world+0x4afb]".to_string(),
|
||||
"0x0040d450 combines helper outputs 0x00455810 / 0x00455800 / 0x0044ad60 with owner-company lane [site+0x276] and world event sink 0x00436590 ids 0x66/0x68".to_string(),
|
||||
"0x00410b30..0x004118f4 consumes candidate-row fields [+0x18/+0x1c/+0x2a/+0x2c/+0x44], subject latch [site+0x78c], and personality byte [site+0x391]".to_string(),
|
||||
"0x00410b30..0x004118f4 also feeds world-side scalar [world+0x4caa], owner-company scalar [company+0x0d5d] through 0x0040d210, and the local cache bands [site+0x2e8], [site+0x310], [site+0x338], and [site+0x360]".to_string(),
|
||||
];
|
||||
let near_city_acquisition_projection_hypotheses = vec![
|
||||
SmpServiceConsumerHypothesis {
|
||||
label: "site_owner_replay_from_post_load_refresh_self_id_reconstructible".to_string(),
|
||||
|
|
@ -5175,6 +5184,7 @@ fn build_periodic_company_service_trace_report(
|
|||
near_city_acquisition_tri_lane_candidate_gate_fields,
|
||||
near_city_acquisition_tri_lane_runtime_writer_roles,
|
||||
near_city_acquisition_tri_lane_direct_caller_families,
|
||||
near_city_acquisition_tri_lane_formula_input_lanes,
|
||||
near_city_acquisition_projection_hypotheses,
|
||||
near_city_acquisition_remaining_owner_gaps,
|
||||
near_city_acquisition_region_lane_statuses,
|
||||
|
|
@ -28230,6 +28240,12 @@ mod tests {
|
|||
.len(),
|
||||
5
|
||||
);
|
||||
assert_eq!(
|
||||
trace
|
||||
.near_city_acquisition_tri_lane_formula_input_lanes
|
||||
.len(),
|
||||
5
|
||||
);
|
||||
assert_eq!(trace.near_city_acquisition_projection_hypotheses.len(), 3);
|
||||
assert_eq!(
|
||||
trace.near_city_acquisition_projection_hypotheses[0].label,
|
||||
|
|
@ -28609,6 +28625,45 @@ mod tests {
|
|||
&& line.contains("0x004337a0")
|
||||
&& line.contains("0x00540120 / 0x00518140"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_tri_lane_formula_input_lanes
|
||||
.iter()
|
||||
.any(|line| line.contains("[+0x20/+0x22]")
|
||||
&& line.contains("[+0x24/+0x28]")
|
||||
&& line.contains("[+0x44]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_tri_lane_formula_input_lanes
|
||||
.iter()
|
||||
.any(|line| line.contains("[world+0x0d]") && line.contains("[world+0x4afb]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_tri_lane_formula_input_lanes
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00455810 / 0x00455800 / 0x0044ad60")
|
||||
&& line.contains("[site+0x276]")
|
||||
&& line.contains("0x66/0x68"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_tri_lane_formula_input_lanes
|
||||
.iter()
|
||||
.any(|line| line.contains("[+0x18/+0x1c/+0x2a/+0x2c/+0x44]")
|
||||
&& line.contains("[site+0x78c]")
|
||||
&& line.contains("[site+0x391]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_tri_lane_formula_input_lanes
|
||||
.iter()
|
||||
.any(|line| line.contains("[world+0x4caa]")
|
||||
&& line.contains("[company+0x0d5d]")
|
||||
&& line.contains("[site+0x310]")
|
||||
&& line.contains("[site+0x360]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_remaining_owner_gaps
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue