Trace linked-transit current-site count resolver

This commit is contained in:
Jan Petykiewicz 2026-04-18 23:22:23 -07:00
commit cd948e47b1
2 changed files with 6 additions and 3 deletions

View file

@ -4992,7 +4992,7 @@ fn build_periodic_company_service_trace_report(
"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(),
"linked-transit site-score cache lanes [site+0x0e/+0x12/+0x16] rebuilt by 0x00407bd0".to_string(),
"linked-transit local site occupancy/count lane [site+0x5c1] reset by 0x00481910, adjusted by 0x004819b0, and consumed by 0x00408280 as a divisor/penalty lane".to_string(),
"linked-transit local site occupancy/count lane [site+0x5c1] reset by 0x00481910, repopulated from current-site-id resolver 0x004a9340, adjusted by 0x004819b0, and consumed by 0x00408280 as a divisor/penalty lane".to_string(),
"linked-transit local site age lane [site+0x5c5] stamped from world counter [world+0x15] at 0x004aee2b and consumed by 0x00408280 as the zero-occupancy age bonus ladder".to_string(),
"linked-transit aggregate roster-pressure helper 0x00408f70 consuming raw site-score lane [site+0x12]".to_string(),
"linked-transit ranked-site chooser 0x00408280 and staged autoroute entry builder 0x00408380 above the rebuilt site caches".to_string(),
@ -5201,7 +5201,7 @@ fn build_periodic_company_service_trace_report(
"The chooser-and-train strip is tighter now too: 0x00408280 only picks among company-owned linked-transit sites whose cache cells are already live, ranking them off site-cache lane [site+0x16] with one extra boost from local cache words [site+0x5c1/+0x5c5], while 0x00408380 either reuses one explicit site id or falls back to 0x00408280 before building a staged 0x33-byte route entry. Above that, 0x00409770 services the caches through 0x00409720, asks 0x00408380 for one staged entry, and then either appends or rotates it in-place, while 0x00409830 repeats the same builder twice before publishing the add-train/news side. So the remaining blocker is not the train-side consumer strip; it is the placed-structure-side owner seam that makes those site-cache lanes and ready bits trustworthy for shellless runs.".to_string(),
);
notes.push(
"Those extra chooser-side local lanes are tighter now too: 0x00481910 first clears [site+0x5c1] across the live placed-structure collection and then repopulates it by resolving site ids through 0x004a9340, while 0x004819b0 decrements one prior site's [site+0x5c1] and increments one new site's copy during later reassignment. The companion age lane [site+0x5c5] is stamped directly from world counter [world+0x15] at 0x004aee2b. 0x00408280 then uses [site+0x5c1] as an occupancy divisor/penalty and [site+0x5c5] as a zero-occupancy age bonus ladder, so those lanes are no longer anonymous chooser magic; they are grounded live cache inputs with bounded writer strips.".to_string(),
"Those extra chooser-side local lanes are tighter now too: 0x00481910 first clears [site+0x5c1] across the live placed-structure collection and then repopulates it by resolving current site ids through 0x004a9340, while 0x004819b0 decrements one prior site's [site+0x5c1] and increments one new site's copy during later reassignment. 0x004a9340 itself is now bounded as a current-site-id resolver: it returns [this+0xa0] when present and otherwise falls back through 0x004b3360 before returning one dereferenced site id. The companion age lane [site+0x5c5] is stamped directly from world counter [world+0x15] at 0x004aee2b. 0x00408280 then uses [site+0x5c1] as an occupancy divisor/penalty and [site+0x5c5] as a zero-occupancy age bonus ladder, so those lanes are no longer anonymous chooser magic; they are grounded live cache inputs with bounded writer strips.".to_string(),
);
notes.push(
"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(),
@ -28731,6 +28731,7 @@ mod tests {
.iter()
.any(|line| line.contains("[site+0x5c1]")
&& line.contains("0x00481910")
&& line.contains("0x004a9340")
&& line.contains("0x004819b0"))
);
assert!(
@ -28957,6 +28958,7 @@ mod tests {
line.contains("0x00481910")
&& line.contains("0x004819b0")
&& line.contains("[site+0x5c1]")
&& line.contains("0x004a9340")
&& line.contains("0x004aee2b")
&& line.contains("[site+0x5c5]")
}));

View file

@ -31,7 +31,8 @@ Working rule:
strip above that
- the chooser-local cache words are bounded too:
`[site+0x5c1]` is a live occupancy/count lane reset by `0x00481910` and adjusted by
`0x004819b0`, while `[site+0x5c5]` is a world-counter age lane stamped at `0x004aee2b`
`0x004819b0`, with counts sourced from current-site-id resolver `0x004a9340`; meanwhile
`[site+0x5c5]` is a world-counter age lane stamped at `0x004aee2b`
- the per-company cache root is bounded too:
`[site+0x5bd]` is allocated by `0x00407780` as a 0x20-entry table of 0x1a-byte per-company
cache cells and freed by `0x004077e0`