Structure near-city acquisition input families

This commit is contained in:
Jan Petykiewicz 2026-04-18 19:09:53 -07:00
commit 572326217b
2 changed files with 60 additions and 0 deletions

View file

@ -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")

View file

@ -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