Structure near-city acquisition input families
This commit is contained in:
parent
210a1c28d2
commit
572326217b
2 changed files with 60 additions and 0 deletions
|
|
@ -3482,6 +3482,12 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
|
|||
#[serde(default)]
|
||||
pub peer_site_runtime_reconstruction_steps: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_region_input_fields: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_peer_input_fields: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_company_input_fields: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub atlas_candidate_consumers: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub known_bridge_helpers: Vec<String>,
|
||||
|
|
@ -4102,6 +4108,26 @@ fn build_periodic_company_service_trace_report(
|
|||
"[peer+0x08] refreshed during 0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710"
|
||||
.to_string(),
|
||||
];
|
||||
let near_city_acquisition_region_input_fields = vec![
|
||||
"[region+0x276] pending amount gate".to_string(),
|
||||
"region vtable +0x80 byte-0x32 class filter consumed through 0x0040d360".to_string(),
|
||||
"[region+0x3d5] age/year delta lane".to_string(),
|
||||
"[region+0x310/+0x338/+0x360] cached tri-lane sampled through 0x0040cac0".to_string(),
|
||||
"[region+0x2a4] winning linked company id output lane".to_string(),
|
||||
];
|
||||
let near_city_acquisition_peer_input_fields = vec![
|
||||
"center-cell token gate 0x0041f6e0 -> 0x0042b2d0 over the current region".to_string(),
|
||||
"[site+0x04] live backing-record selector consumed by 0x0047efe0 / 0x0047fd50".to_string(),
|
||||
"[site+0x2a8] linked peer-site id consumed by 0x0040d1f0".to_string(),
|
||||
"[peer+0x08] route-entry anchor id consumed by 0x0047dda0".to_string(),
|
||||
"linked-region status branch 0x0047de00 -> 0x0040c990".to_string(),
|
||||
];
|
||||
let near_city_acquisition_company_input_fields = vec![
|
||||
"company stat-family reader 0x2329/0x0d through 0x0042a5d0".to_string(),
|
||||
"current chairman profile byte [profile+0x291] through 0x00426ef0".to_string(),
|
||||
"company byte [company+0x5b] and indexed lane [company+0x67 + 12*0x0042a0e0()]".to_string(),
|
||||
"company-root argument [company+0x00] passed into 0x0040d540 and 0x00455f60".to_string(),
|
||||
];
|
||||
let atlas_candidate_consumers = vec![
|
||||
"0x004019e0 periodic company outer service owner".to_string(),
|
||||
"0x00406050 city-connection bonus/news owner".to_string(),
|
||||
|
|
@ -4357,6 +4383,9 @@ fn build_periodic_company_service_trace_report(
|
|||
peer_site_runtime_input_fields,
|
||||
peer_site_runtime_reconstruction_status,
|
||||
peer_site_runtime_reconstruction_steps,
|
||||
near_city_acquisition_region_input_fields,
|
||||
near_city_acquisition_peer_input_fields,
|
||||
near_city_acquisition_company_input_fields,
|
||||
atlas_candidate_consumers,
|
||||
known_bridge_helpers,
|
||||
next_owner_questions,
|
||||
|
|
@ -26034,6 +26063,9 @@ mod tests {
|
|||
"restore_subset_and_bring_up_reconstruct_runtime_subset"
|
||||
);
|
||||
assert_eq!(trace.peer_site_runtime_reconstruction_steps.len(), 3);
|
||||
assert_eq!(trace.near_city_acquisition_region_input_fields.len(), 5);
|
||||
assert_eq!(trace.near_city_acquisition_peer_input_fields.len(), 5);
|
||||
assert_eq!(trace.near_city_acquisition_company_input_fields.len(), 4);
|
||||
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
||||
line.contains("0x00420030 / 0x00420280")
|
||||
&& line.contains("0x006cec20")
|
||||
|
|
@ -26044,6 +26076,24 @@ mod tests {
|
|||
&& line.contains("0x004014b0")
|
||||
&& line.contains("peer-site restore subset")
|
||||
}));
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_region_input_fields
|
||||
.iter()
|
||||
.any(|line| line.contains("[region+0x276]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_peer_input_fields
|
||||
.iter()
|
||||
.any(|line| line.contains("[site+0x04]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_company_input_fields
|
||||
.iter()
|
||||
.any(|line| line.contains("0x2329/0x0d"))
|
||||
);
|
||||
assert!(trace.next_owner_questions.iter().any(|line| {
|
||||
line.contains("0x004160aa")
|
||||
&& line.contains("0x0040ee10")
|
||||
|
|
|
|||
|
|
@ -123,6 +123,16 @@ Working rule:
|
|||
`restore_subset_and_bring_up_reconstruct_runtime_subset`
|
||||
- treat the runtime subset as reconstructible from the restore subset plus the already-grounded
|
||||
bring-up path for planning purposes
|
||||
- use the new structured acquisition input families in the same trace:
|
||||
region subset
|
||||
`[region+0x276]`, region vtable `+0x80` byte-`0x32`, `[region+0x3d5]`,
|
||||
`[region+0x310/+0x338/+0x360]`, `[region+0x2a4]`;
|
||||
peer subset
|
||||
center-cell token gate, `[site+0x04]`, `[site+0x2a8]`, `[peer+0x08]`, linked-region status;
|
||||
company subset
|
||||
stat-family reader `0x2329/0x0d`, chairman byte `[profile+0x291]`, company byte `[company+0x5b]`
|
||||
plus indexed lane `[company+0x67 + 12*0x0042a0e0()]`, and the company-root argument passed into
|
||||
`0x0040d540 / 0x00455f60`
|
||||
- make the next periodic-company slice about the smaller shellless-simulation question instead:
|
||||
which persisted region/company linkage fields are still missing for `0x004014b0` and the
|
||||
city-connection sibling once the peer-site runtime subset is no longer the blocker
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue