Narrow linked-transit blocker to replay branch
This commit is contained in:
parent
b41a587807
commit
980016d18b
2 changed files with 34 additions and 13 deletions
|
|
@ -5007,6 +5007,7 @@ fn build_periodic_company_service_trace_report(
|
|||
"company linked-transit latch [company+0x0d56] consumed by 0x00409950 and the annual-finance debt lane".to_string(),
|
||||
"active-company refresh owner 0x00429c10 walks the live company roster and re-enters 0x004093d0 for each active company when linked-transit site-peer caches need a broader rebuild".to_string(),
|
||||
"placed-structure-side company cache root [site+0x5bd] allocated by 0x00407780 as a 0x20-entry pointer table of 0x1a-byte per-company cache cells and freed by 0x004077e0".to_string(),
|
||||
"placed-structure replay strip 0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710 already republishes linked-peer ids, route-entry anchors, and world-cell owner chains before later recurring call 0x004160aa re-enters 0x0040ee10".to_string(),
|
||||
"placed-structure-side per-company cache cells addressed through [site+0x5bd][company_id] and peer rows filled by 0x004a6630".to_string(),
|
||||
"per-company cache-cell layout is bounded too: bytes +0x00/+0x01 gate participation, dword +0x02 is peer-row count, dword +0x06 is peer-row pointer, dword +0x0a is the peer-cache refresh stamp, and floats +0x0e/+0x12/+0x16 are the weighted/raw/final linked-transit score lanes".to_string(),
|
||||
"linked-transit peer-table row lanes +0x05 step count and +0x09 normalized continuity share under 0x004093d0".to_string(),
|
||||
|
|
@ -5020,7 +5021,7 @@ fn build_periodic_company_service_trace_report(
|
|||
"linked-transit train-side autoroute append / rotate strip 0x00409770 plus add-train owner 0x00409830 beneath roster balancer 0x00409950".to_string(),
|
||||
];
|
||||
let linked_transit_remaining_owner_gaps = vec![
|
||||
"which placed-structure-side restore or service continuation guarantees that the save-backed identity inputs [site+0x276], [site+0x04], [site+0x2a4], [site+0x2a8], and [peer+0x04/+0x08] have already rehydrated the live site and peer tables before 0x004093d0 / 0x00407bd0 rebuild their scratch cache lanes".to_string(),
|
||||
"which exact branch inside the known placed-structure replay continuation 0x0040e360..0x0040edf6 rehydrates [site+0x276], [site+0x2a4], and linked-peer rows beyond the already-grounded 0x00480710 anchor-side refresh before 0x004093d0 / 0x00407bd0 rebuild their scratch cache lanes".to_string(),
|
||||
"how much of the live placed-structure collection 0x006cec20 and linked-peer replay strip still has to run shelllessly beside already-grounded candidate-table owner 0x0041f4e0 / 0x0041ede0 and route-entry tracker owner 0x00494fb0 / 0x004a6360 before 0x00408280 / 0x00408380 / 0x00409770 become trustworthy".to_string(),
|
||||
];
|
||||
|
||||
|
|
@ -5228,7 +5229,7 @@ fn build_periodic_company_service_trace_report(
|
|||
"The per-company cache root is grounded now too: 0x00407780 allocates [site+0x5bd] as a 0x20-entry pointer table and seeds each entry with one zeroed 0x1a-byte company cache cell, while 0x004077e0 frees that same root and any nested cell payloads. That means the remaining linked-transit gap is no longer cache-root allocation identity; it is which persisted site-side inputs are sufficient to repopulate those per-company cells and the downstream score lanes before the bounded chooser/train strip runs shelllessly.".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"The per-company cache-cell layout is bounded now too: 0x004093d0 and 0x00407bd0 use bytes +0x00/+0x01 as the initial participation gates, dword +0x02 as the peer-row count, dword +0x06 as the peer-row pointer, dword +0x0a as the shorter peer-cache refresh stamp, and floats +0x0e/+0x12/+0x16 as the weighted/raw/final linked-transit score lanes. The candidate-table and route-entry-tracker owners are bounded above that too: 0x0062ba8c is constructed through 0x0041f4e0 -> 0x0041ede0 -> 0x0041e970, while 0x004a6360 / 0x004a6630 sit under owner-notify refresh 0x00494fb0. So the remaining linked-transit gap is no longer generic table ownership; it is the placed-structure-side restore/service continuation that makes the live site and peer rows trustworthy before those already-bounded helpers run.".to_string(),
|
||||
"The per-company cache-cell layout is bounded now too: 0x004093d0 and 0x00407bd0 use bytes +0x00/+0x01 as the initial participation gates, dword +0x02 as the peer-row count, dword +0x06 as the peer-row pointer, dword +0x0a as the shorter peer-cache refresh stamp, and floats +0x0e/+0x12/+0x16 as the weighted/raw/final linked-transit score lanes. The candidate-table and route-entry-tracker owners are bounded above that too: 0x0062ba8c is constructed through 0x0041f4e0 -> 0x0041ede0 -> 0x0041e970, while 0x004a6360 / 0x004a6630 sit under owner-notify refresh 0x00494fb0. The remaining linked-transit gap is therefore inside the known placed-structure replay continuation: 0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710 already republishes anchor-side linked-peer state, but the later exact branch that rehydrates [site+0x276], [site+0x2a4], and the live peer rows for shellless cache rebuilds is still the open question.".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"Direct disassembly now closes the negative persistence side too: the direct 0x36b1 per-record callbacks serialize the shared base scalar triplets rooted at [this+0x206/+0x20a/+0x20e] plus the subordinate payload callback strip, while the 0x4a9d/0x4a3a/0x4a3b side-buffer owner only persists route-entry lists, three byte arrays, five proximity buckets, and the sampled-cell list. That means neither checked-in save owner seam currently persists the core peer-site identity fields [site+0x04], [site+0x2a8], or [peer+0x08] directly.".to_string(),
|
||||
|
|
@ -28283,7 +28284,7 @@ mod tests {
|
|||
5
|
||||
);
|
||||
assert_eq!(trace.linked_transit_live_rebuilt_cache_lanes.len(), 5);
|
||||
assert_eq!(trace.linked_transit_runtime_backed_input_families.len(), 17);
|
||||
assert_eq!(trace.linked_transit_runtime_backed_input_families.len(), 18);
|
||||
assert_eq!(trace.linked_transit_remaining_owner_gaps.len(), 2);
|
||||
assert_eq!(trace.companies.len(), 1);
|
||||
assert_eq!(
|
||||
|
|
@ -28766,6 +28767,16 @@ mod tests {
|
|||
&& line.contains("0x004093d0")
|
||||
&& line.contains("live company roster"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.linked_transit_runtime_backed_input_families
|
||||
.iter()
|
||||
.any(|line| line.contains("0x00444690")
|
||||
&& line.contains("0x004133b0")
|
||||
&& line.contains("0x0040ee10")
|
||||
&& line.contains("0x00480710")
|
||||
&& line.contains("0x004160aa"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
.linked_transit_runtime_backed_input_families
|
||||
|
|
@ -28844,10 +28855,9 @@ mod tests {
|
|||
trace
|
||||
.linked_transit_remaining_owner_gaps
|
||||
.iter()
|
||||
.any(|line| line.contains("[site+0x276]")
|
||||
&& line.contains("[site+0x04]")
|
||||
&& line.contains("[site+0x2a4]")
|
||||
&& line.contains("[peer+0x04/+0x08]"))
|
||||
.any(|line| line.contains("0x0040e360..0x0040edf6")
|
||||
&& line.contains("[site+0x276]")
|
||||
&& line.contains("[site+0x2a4]"))
|
||||
);
|
||||
assert!(
|
||||
trace
|
||||
|
|
@ -29088,7 +29098,14 @@ mod tests {
|
|||
line.contains("0x0062ba8c")
|
||||
&& line.contains("0x0041f4e0")
|
||||
&& line.contains("0x00494fb0")
|
||||
&& line.contains("placed-structure-side restore/service continuation")
|
||||
&& line.contains("remaining linked-transit gap is therefore inside the known placed-structure replay continuation")
|
||||
}));
|
||||
assert!(trace.notes.iter().any(|line| {
|
||||
line.contains("0x00444690")
|
||||
&& line.contains("0x004133b0")
|
||||
&& line.contains("0x0040ee10")
|
||||
&& line.contains("0x0040edf6")
|
||||
&& line.contains("[site+0x276]")
|
||||
}));
|
||||
assert!(
|
||||
trace
|
||||
|
|
|
|||
|
|
@ -51,12 +51,16 @@ Working rule:
|
|||
`0x004093d0`; candidate table root `0x0062ba8c` is world-load owned by
|
||||
`0x0041f4e0 -> 0x0041ede0 -> 0x0041e970`; and route-entry tracker compatibility / chooser
|
||||
helpers `0x004a6360 / 0x004a6630` already sit under owner-notify refresh `0x00494fb0`
|
||||
- the placed-structure replay strip is tighter now too:
|
||||
`0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710` already republishes
|
||||
anchor-side linked-peer ids, route-entry anchors, and world-cell owner chains, and later
|
||||
runtime path `0x004160aa -> 0x0040ee10` re-enters the same family outside bring-up
|
||||
- that makes the next linked-transit question narrower:
|
||||
identify which placed-structure restore or service continuation guarantees those save-backed
|
||||
site/peer/company identity lanes have already rebuilt the live placed-structure and linked-peer
|
||||
rows before `0x004093d0 / 0x00407bd0 / 0x004a6630`, because the candidate table,
|
||||
route-entry-tracker owners, bounded train-side strip `0x00409770 / 0x00409830 / 0x00409950`,
|
||||
and cache-cell semantics are no longer the blocker
|
||||
identify which exact branch inside `0x0040e360..0x0040edf6` rehydrates `[site+0x276]`,
|
||||
`[site+0x2a4]`, and the live linked-peer rows beyond the already-grounded `0x00480710`
|
||||
anchor-side refresh before `0x004093d0 / 0x00407bd0 / 0x004a6630`, because the candidate
|
||||
table, route-entry-tracker owners, replay-strip framing, bounded train-side strip
|
||||
`0x00409770 / 0x00409830 / 0x00409950`, and cache-cell semantics are no longer the blocker
|
||||
- Make the next static/rehost slice the near-city industry acquisition owner seam under
|
||||
`0x004014b0`, not another generic infrastructure pass. The concrete questions are:
|
||||
- which minimum persisted peer-site fields on the already-grounded `0x006cec20` placed-structure
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue