Ground peer-site runtime reconstruction contract
This commit is contained in:
parent
1d6eed09ab
commit
210a1c28d2
2 changed files with 30 additions and 7 deletions
|
|
@ -3478,6 +3478,9 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
|
||||||
pub peer_site_restore_input_fields: Vec<String>,
|
pub peer_site_restore_input_fields: Vec<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub peer_site_runtime_input_fields: Vec<String>,
|
pub peer_site_runtime_input_fields: Vec<String>,
|
||||||
|
pub peer_site_runtime_reconstruction_status: String,
|
||||||
|
#[serde(default)]
|
||||||
|
pub peer_site_runtime_reconstruction_steps: Vec<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub atlas_candidate_consumers: Vec<String>,
|
pub atlas_candidate_consumers: Vec<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
|
|
@ -4089,6 +4092,16 @@ fn build_periodic_company_service_trace_report(
|
||||||
"[site+0x2a8] linked peer-site id consumed by 0x0040d1f0".to_string(),
|
"[site+0x2a8] linked peer-site id consumed by 0x0040d1f0".to_string(),
|
||||||
"[peer+0x08] route-entry anchor id consumed by 0x0047dda0".to_string(),
|
"[peer+0x08] route-entry anchor id consumed by 0x0047dda0".to_string(),
|
||||||
];
|
];
|
||||||
|
let peer_site_runtime_reconstruction_status =
|
||||||
|
"restore_subset_and_bring_up_reconstruct_runtime_subset".to_string();
|
||||||
|
let peer_site_runtime_reconstruction_steps = vec![
|
||||||
|
"[site+0x04] restored from 0x0045c150 -> 0x0045c310 -> 0x0045c36e -> 0x00456100 -> 0x00455b70 -> 0x0052edf0"
|
||||||
|
.to_string(),
|
||||||
|
"[site+0x2a8] rewritten by 0x0040f6d0 after 0x00481390 returns the linked peer id"
|
||||||
|
.to_string(),
|
||||||
|
"[peer+0x08] refreshed during 0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710"
|
||||||
|
.to_string(),
|
||||||
|
];
|
||||||
let atlas_candidate_consumers = vec![
|
let atlas_candidate_consumers = vec![
|
||||||
"0x004019e0 periodic company outer service owner".to_string(),
|
"0x004019e0 periodic company outer service owner".to_string(),
|
||||||
"0x00406050 city-connection bonus/news owner".to_string(),
|
"0x00406050 city-connection bonus/news owner".to_string(),
|
||||||
|
|
@ -4159,7 +4172,7 @@ fn build_periodic_company_service_trace_report(
|
||||||
"0x00409950 linked-transit roster sibling owner".to_string(),
|
"0x00409950 linked-transit roster sibling owner".to_string(),
|
||||||
];
|
];
|
||||||
let next_owner_questions = vec![
|
let next_owner_questions = vec![
|
||||||
"Which minimum persisted fields are actually needed to rehost 0x004014b0 shelllessly once the selector seam is grounded: only the restore subset [site+0x3cc/+0x3d0] plus the 0x5dc1-backed [owner+0x23e/+0x242] lanes, or must the live runtime subset [site+0x04], [site+0x2a8], and [peer+0x08] also be materialized explicitly in the headless state contract?".to_string(),
|
"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(),
|
"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 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 infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(),
|
"Which infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(),
|
||||||
|
|
@ -4342,6 +4355,8 @@ fn build_periodic_company_service_trace_report(
|
||||||
peer_site_selector_candidate_helper_linkage,
|
peer_site_selector_candidate_helper_linkage,
|
||||||
peer_site_restore_input_fields,
|
peer_site_restore_input_fields,
|
||||||
peer_site_runtime_input_fields,
|
peer_site_runtime_input_fields,
|
||||||
|
peer_site_runtime_reconstruction_status,
|
||||||
|
peer_site_runtime_reconstruction_steps,
|
||||||
atlas_candidate_consumers,
|
atlas_candidate_consumers,
|
||||||
known_bridge_helpers,
|
known_bridge_helpers,
|
||||||
next_owner_questions,
|
next_owner_questions,
|
||||||
|
|
@ -26014,15 +26029,20 @@ mod tests {
|
||||||
assert_eq!(trace.peer_site_selector_candidate_helper_linkage.len(), 4);
|
assert_eq!(trace.peer_site_selector_candidate_helper_linkage.len(), 4);
|
||||||
assert_eq!(trace.peer_site_restore_input_fields.len(), 4);
|
assert_eq!(trace.peer_site_restore_input_fields.len(), 4);
|
||||||
assert_eq!(trace.peer_site_runtime_input_fields.len(), 3);
|
assert_eq!(trace.peer_site_runtime_input_fields.len(), 3);
|
||||||
|
assert_eq!(
|
||||||
|
trace.peer_site_runtime_reconstruction_status,
|
||||||
|
"restore_subset_and_bring_up_reconstruct_runtime_subset"
|
||||||
|
);
|
||||||
|
assert_eq!(trace.peer_site_runtime_reconstruction_steps.len(), 3);
|
||||||
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
||||||
line.contains("0x00420030 / 0x00420280")
|
line.contains("0x00420030 / 0x00420280")
|
||||||
&& line.contains("0x006cec20")
|
&& line.contains("0x006cec20")
|
||||||
&& line.contains("peer-site boolean/selector pair")
|
&& line.contains("peer-site boolean/selector pair")
|
||||||
}));
|
}));
|
||||||
assert!(trace.next_owner_questions.iter().any(|line| {
|
assert!(trace.next_owner_questions.iter().any(|line| {
|
||||||
line.contains("[site+0x3cc/+0x3d0]")
|
line.contains("persisted region and company linkage fields")
|
||||||
&& line.contains("[owner+0x23e/+0x242]")
|
&& line.contains("0x004014b0")
|
||||||
&& line.contains("[site+0x04]")
|
&& line.contains("peer-site restore subset")
|
||||||
}));
|
}));
|
||||||
assert!(trace.next_owner_questions.iter().any(|line| {
|
assert!(trace.next_owner_questions.iter().any(|line| {
|
||||||
line.contains("0x004160aa")
|
line.contains("0x004160aa")
|
||||||
|
|
|
||||||
|
|
@ -119,10 +119,13 @@ Working rule:
|
||||||
`[site+0x3cc/+0x3d0]` plus `0x5dc1`-backed `[owner+0x23e/+0x242]`,
|
`[site+0x3cc/+0x3d0]` plus `0x5dc1`-backed `[owner+0x23e/+0x242]`,
|
||||||
and runtime subset
|
and runtime subset
|
||||||
`[site+0x04]`, `[site+0x2a8]`, `[peer+0x08]`
|
`[site+0x04]`, `[site+0x2a8]`, `[peer+0x08]`
|
||||||
|
- use the new structured reconstruction status in the same trace:
|
||||||
|
`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
|
||||||
- make the next periodic-company slice about the smaller shellless-simulation question instead:
|
- make the next periodic-company slice about the smaller shellless-simulation question instead:
|
||||||
whether `0x004014b0` and the city-connection sibling only need that restore subset to
|
which persisted region/company linkage fields are still missing for `0x004014b0` and the
|
||||||
reconstruct the runtime subset deterministically, or whether the runtime subset has to become
|
city-connection sibling once the peer-site runtime subset is no longer the blocker
|
||||||
an explicit headless-state contract
|
|
||||||
- Use the higher-layer probes as the standard entry point for the current blocked frontier instead
|
- Use the higher-layer probes as the standard entry point for the current blocked frontier instead
|
||||||
of generic save scans:
|
of generic save scans:
|
||||||
`runtime inspect-periodic-company-service-trace <save.gms>`,
|
`runtime inspect-periodic-company-service-trace <save.gms>`,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue