Narrow linked-transit blocker to replay branch

This commit is contained in:
Jan Petykiewicz 2026-04-18 23:46:09 -07:00
commit 980016d18b
2 changed files with 34 additions and 13 deletions

View file

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

View file

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