Split acquisition readiness from region gaps
This commit is contained in:
parent
572326217b
commit
334d22ca9d
2 changed files with 65 additions and 5 deletions
|
|
@ -3487,6 +3487,11 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
|
|||
pub near_city_acquisition_peer_input_fields: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_company_input_fields: Vec<String>,
|
||||
pub near_city_acquisition_shellless_readiness_status: String,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_runtime_backed_input_families: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub near_city_acquisition_remaining_owner_gaps: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub atlas_candidate_consumers: Vec<String>,
|
||||
#[serde(default)]
|
||||
|
|
@ -4128,6 +4133,25 @@ fn build_periodic_company_service_trace_report(
|
|||
"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 near_city_acquisition_shellless_readiness_status =
|
||||
"peer_and_company_inputs_grounded_region_restore_gap_remaining".to_string();
|
||||
let near_city_acquisition_runtime_backed_input_families = vec![
|
||||
"peer-site restore subset [site+0x3cc/+0x3d0] plus tagged 0x5dc1 [owner+0x23e/+0x242]"
|
||||
.to_string(),
|
||||
"peer-site bring-up replay path reconstructing [site+0x04], [site+0x2a8], and [peer+0x08]"
|
||||
.to_string(),
|
||||
"company stat-family lane 0x2329/0x0d already rehosted in runtime company state".to_string(),
|
||||
"chairman personality byte [profile+0x291] already reconstructed from raw save chairman rows"
|
||||
.to_string(),
|
||||
"company-root pointer and linked chairman/company save-native roster identity already imported"
|
||||
.to_string(),
|
||||
];
|
||||
let near_city_acquisition_remaining_owner_gaps = vec![
|
||||
"persisted restore or rebuild owner for [region+0x276] pending amount before shellless 0x004014b0 can consume ordinary saves".to_string(),
|
||||
"persisted restore or rebuild owner for [region+0x2a4] winning linked-company lane".to_string(),
|
||||
"persisted restore or rebuild owner for [region+0x310/+0x338/+0x360] cached tri-lane sampled by 0x0040cac0".to_string(),
|
||||
"stable save-native region class/type discriminator behind the vtable +0x80 byte-0x32 filter consumed through 0x0040d360".to_string(),
|
||||
];
|
||||
let atlas_candidate_consumers = vec![
|
||||
"0x004019e0 periodic company outer service owner".to_string(),
|
||||
"0x00406050 city-connection bonus/news owner".to_string(),
|
||||
|
|
@ -4200,7 +4224,7 @@ fn build_periodic_company_service_trace_report(
|
|||
let next_owner_questions = vec![
|
||||
"Which persisted region and company linkage fields are still missing for a shellless 0x004014b0 implementation once the peer-site restore subset is accepted as sufficient to reconstruct the live runtime subset?".to_string(),
|
||||
"How much of the linked-peer refresh path is strictly post-load versus recurring runtime maintenance now that 0x004133b0 reaches 0x0040ee10 -> 0x0040edf6 -> 0x00480710 during bring-up and 0x004160aa also re-enters 0x0040ee10 later?".to_string(),
|
||||
"Which persisted linkage fields behind 0x0047efe0, [region+0x2a4], and [region+0x276] are sufficient to rehost the 0x004014b0 proximity-and-news branch without shell state?".to_string(),
|
||||
"Which later restore or rebuild owner rehydrates the remaining region-side 0x004014b0 inputs [region+0x276], [region+0x2a4], and [region+0x310/+0x338/+0x360] once peer/company inputs are accepted as grounded?".to_string(),
|
||||
"Which infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(),
|
||||
];
|
||||
|
||||
|
|
@ -4353,6 +4377,9 @@ fn build_periodic_company_service_trace_report(
|
|||
notes.push(
|
||||
"Direct disassembly now narrows the acquisition-side sibling substantially: 0x004014b0 gates on the periodic outer owner, then iterates the live class-0 region collection at 0x62b26c, rejects regions with nonzero [region+0x276], filters the region-type lane through 0x0040d360, scores candidate regions against company linkage/age/proximity through 0x0040d540 and 0x0040cac0, and publishes the winning linked company id from [region+0x2a4] through the shared news lane 0x4554e0.".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"The shellless acquisition frontier is narrower now too: the peer-site selector/linked-peer seam is grounded enough to plan around, and the company/chairman side already sits on existing runtime-backed stat-family and save-native roster inputs. The remaining blocker is region-side restore or rebuild ownership for [region+0x276], [region+0x2a4], and the cached tri-lane [region+0x310/+0x338/+0x360], plus the stable class/type discriminator consumed through 0x0040d360.".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"That branch also reuses the same peer-site helper strip already bounded under the city-connection family: 0x0041f6e0 resolves the current center world-grid cell and checks one packed token through 0x0042b2d0, 0x0047de00 follows the linked region behind the candidate site into the status byte returned by 0x0040c990, and 0x004801a0 checks whether one candidate site is reachable from the cached company route anchor through the pending-bonus companion path 0x00425b90 -> 0x00401860 -> 0x0048e3c0.".to_string(),
|
||||
);
|
||||
|
|
@ -4386,6 +4413,9 @@ fn build_periodic_company_service_trace_report(
|
|||
near_city_acquisition_region_input_fields,
|
||||
near_city_acquisition_peer_input_fields,
|
||||
near_city_acquisition_company_input_fields,
|
||||
near_city_acquisition_shellless_readiness_status,
|
||||
near_city_acquisition_runtime_backed_input_families,
|
||||
near_city_acquisition_remaining_owner_gaps,
|
||||
atlas_candidate_consumers,
|
||||
known_bridge_helpers,
|
||||
next_owner_questions,
|
||||
|
|
@ -26066,15 +26096,26 @@ mod tests {
|
|||
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_eq!(
|
||||
trace.near_city_acquisition_shellless_readiness_status,
|
||||
"peer_and_company_inputs_grounded_region_restore_gap_remaining"
|
||||
);
|
||||
assert_eq!(
|
||||
trace
|
||||
.near_city_acquisition_runtime_backed_input_families
|
||||
.len(),
|
||||
5
|
||||
);
|
||||
assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 4);
|
||||
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
||||
line.contains("0x00420030 / 0x00420280")
|
||||
&& line.contains("0x006cec20")
|
||||
&& line.contains("peer-site boolean/selector pair")
|
||||
}));
|
||||
assert!(trace.next_owner_questions.iter().any(|line| {
|
||||
line.contains("persisted region and company linkage fields")
|
||||
line.contains("remaining region-side 0x004014b0 inputs")
|
||||
&& line.contains("0x004014b0")
|
||||
&& line.contains("peer-site restore subset")
|
||||
&& line.contains("[region+0x2a4]")
|
||||
}));
|
||||
assert!(
|
||||
trace
|
||||
|
|
@ -26094,6 +26135,18 @@ mod tests {
|
|||
.iter()
|
||||
.any(|line| line.contains("0x2329/0x0d"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_runtime_backed_input_families
|
||||
.iter()
|
||||
.any(|line| line.contains("0x2329/0x0d"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.near_city_acquisition_remaining_owner_gaps
|
||||
.iter()
|
||||
.any(|line| line.contains("[region+0x276]"))
|
||||
);
|
||||
assert!(trace.next_owner_questions.iter().any(|line| {
|
||||
line.contains("0x004160aa")
|
||||
&& line.contains("0x0040ee10")
|
||||
|
|
|
|||
|
|
@ -133,9 +133,16 @@ Working rule:
|
|||
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`
|
||||
- use the new shellless-readiness split in the same trace:
|
||||
runtime-backed families
|
||||
peer-site restore subset plus bring-up reconstruction, company stat-family `0x2329/0x0d`,
|
||||
chairman byte `[profile+0x291]`, and save-native company/chairman identity;
|
||||
remaining owner gaps
|
||||
`[region+0x276]`, `[region+0x2a4]`, `[region+0x310/+0x338/+0x360]`, and the stable region
|
||||
class/type discriminator consumed through `0x0040d360`
|
||||
- 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
|
||||
which later restore or rebuild owner rehydrates the remaining region-side `0x004014b0` inputs
|
||||
once the peer/company inputs are treated as grounded
|
||||
- Use the higher-layer probes as the standard entry point for the current blocked frontier instead
|
||||
of generic save scans:
|
||||
`runtime inspect-periodic-company-service-trace <save.gms>`,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue