diff --git a/crates/rrt-runtime/src/smp.rs b/crates/rrt-runtime/src/smp.rs index 3258fdc..1fb978c 100644 --- a/crates/rrt-runtime/src/smp.rs +++ b/crates/rrt-runtime/src/smp.rs @@ -4661,13 +4661,13 @@ fn build_periodic_company_service_trace_report( ]; let near_city_acquisition_remaining_owner_gaps = vec![ "save-native or replay projection of placed-structure owner-company field [site+0x276] for the acquisition-side owner-present gate; the live meaning is already grounded through 0x0047efe0".to_string(), - "save or replay projection of [site+0x2a4] as the current record's placed-structure id lane before 0x004269b0 commits the chosen site".to_string(), + "save or replay projection of [site+0x2a4] into restored live rows before 0x004269b0 commits the chosen site; constructor-side 0x00480210 already seeds this lane for new linked-site records".to_string(), "save payload or restore owner for [site+0x310/+0x338/+0x360] cached tri-lane sampled by 0x0040cac0; current binary scan finds no direct placed-structure runtime writer".to_string(), "restore projection that guarantees cached candidate id bridge [site+0x3d0] is populated for the acquisition-side rows before 0x0040d360 consumes subtype byte [candidate+0x32] == 4".to_string(), ]; let near_city_acquisition_region_lane_statuses = vec![ "[site+0x276] owner-present gate: consumed directly by 0x004014b0, and the live owner-company meaning is already grounded through 0x0047efe0, but its save-native or replay projection is still missing".to_string(), - "[site+0x2a4] placed-structure id lane: peer-chain helpers already ground this as the record's own site id, but the save or replay projection into live placed-structure rows is still missing for the 0x004014b0 commit path".to_string(), + "[site+0x2a4] placed-structure id lane: peer-chain helpers already ground this as the record's own site id, and constructor-side 0x00480210 seeds it for new linked-site rows, but the save or replay projection into restored live placed-structure rows is still missing for the 0x004014b0 commit path".to_string(), "[site+0x310/+0x338/+0x360] cached tri-lane: exact raw delta reader grounded at 0x0040cac0, and the current binary write scan finds no direct placed-structure runtime writer, so the lane now looks payload/restore-owned".to_string(), "placed-structure subtype filter: 0x0040d360 is the exact test [candidate+0x32] == 4, and the owning subtype byte is already bounded under 0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0; the remaining gap is projecting [site+0x04] back into that loaded candidate row".to_string(), ]; @@ -4701,7 +4701,7 @@ fn build_periodic_company_service_trace_report( .to_string(), "0x0040d540 weighted region-to-company proximity scorer with pending-bonus context" .to_string(), - "0x0040f6d0 subtype-1 placed-structure constructor writing linked peer id via 0x00481390" + "0x0040f6d0 / 0x00481390 / 0x00480210 subtype-1 constructor family seeding linked record own id, anchor-site id, and linked peer id" .to_string(), "0x0040d210 owner-side placed-structure resolver from [site+0x276] through 0x0062be10" .to_string(), @@ -4913,7 +4913,7 @@ fn build_periodic_company_service_trace_report( "Direct disassembly now narrows the acquisition-side sibling substantially: 0x004014b0 gates on the periodic outer owner, then scans the live placed-structure collection at 0x0062b26c, rejects sites whose owner field [site+0x276] is already nonzero, filters candidates through the subtype-4 predicate 0x0040d360, scores surviving sites against company linkage/age/proximity through 0x0040d540 and 0x0040cac0, and then commits the chosen site through 0x004269b0 before the shared news lane 0x004554e0 formats the headline.".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, the company/chairman side now includes the save-native route-anchor tuple used by 0x00401860, the live owner-company meaning of [site+0x276] is grounded through 0x0047efe0 / 0x0040d210, the self-id meaning of [site+0x2a4] is grounded through 0x0041f7e0 / 0x0041f810 / 0x0041f850, and the subtype owner strip is bounded under the aux-candidate load chain 0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0. The remaining blocker is the placed-structure-side restore or replay ownership for [site+0x276], [site+0x2a4], and the cached tri-lane [site+0x310/+0x338/+0x360], plus the projection from [site+0x04] back into the loaded candidate subtype row.".to_string(), + "The shellless acquisition frontier is narrower now too: the peer-site selector/linked-peer seam is grounded enough to plan around, the company/chairman side now includes the save-native route-anchor tuple used by 0x00401860, the live owner-company meaning of [site+0x276] is grounded through 0x0047efe0 / 0x0040d210, the self-id meaning of [site+0x2a4] is grounded through 0x0041f7e0 / 0x0041f810 / 0x0041f850, constructor-side 0x00480210 already seeds that self-id lane for new linked-site rows, and the subtype owner strip is bounded under the aux-candidate load chain 0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0. The remaining blocker is the placed-structure-side restore or replay ownership for [site+0x276], [site+0x2a4], and the cached tri-lane [site+0x310/+0x338/+0x360], plus the projection from [site+0x04] back into the loaded candidate subtype row.".to_string(), ); notes.push( "The acquisition-side consumer family is tighter now too. The checked-in station-detail action path 0x0040dc40 already consumes live owner company [site+0x276], candidate field [candidate+0x22], company stat-family 0x2329/0x0d, projected-cell validation 0x00417840 -> 0x004197e0, and compact-grid replay 0x004142c0/0x004142d0 before it commits the linked-site mutation through 0x0040d1f0 -> 0x00480710 -> 0x0045b160 / 0x0045b9b0 / 0x00418be0 / 0x0040cd70. That means these lanes are already grounded as live preconditions and mutation-side rebuild inputs, even though the save or replay owner that populates them for shellless acquisition is still the open question.".to_string(), @@ -28174,7 +28174,9 @@ mod tests { trace .near_city_acquisition_region_lane_statuses .iter() - .any(|line| line.contains("[site+0x2a4]") && line.contains("record's own site id")) + .any(|line| line.contains("[site+0x2a4]") + && line.contains("record's own site id") + && line.contains("0x00480210")) ); assert!( trace @@ -28271,7 +28273,9 @@ mod tests { trace .known_bridge_helpers .iter() - .any(|line| line.contains("0x0040f6d0") && line.contains("0x00481390")) + .any(|line| line.contains("0x0040f6d0") + && line.contains("0x00481390") + && line.contains("0x00480210")) ); assert!( trace diff --git a/docs/rehost-queue.md b/docs/rehost-queue.md index 871f015..c16f31f 100644 --- a/docs/rehost-queue.md +++ b/docs/rehost-queue.md @@ -81,12 +81,13 @@ Working rule: - the live owner-company meaning of `[site+0x276]` is already grounded through `0x0047efe0`, with the direct owner-side resolver bounded at `0x0040d210` - `[site+0x2a4]` is already grounded as the record's own placed-structure id lane through the - peer-chain helpers `0x0041f7e0 / 0x0041f810 / 0x0041f850` + peer-chain helpers `0x0041f7e0 / 0x0041f810 / 0x0041f850`, and constructor-side `0x00480210` + already seeds that lane for new linked-site rows - the subtype byte consumed as `[candidate+0x32] == 4` is already bounded under the aux-candidate load/stem-policy chain `0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0` - remaining non-hook gaps are the save or replay projection of `[site+0x276]`, the save or - replay projection of `[site+0x2a4]`, the cached tri-lane `[site+0x310/+0x338/+0x360]`, and the projection from + replay projection of `[site+0x2a4]` into restored rows, the cached tri-lane `[site+0x310/+0x338/+0x360]`, and the projection from restored backing-record selector `[site+0x04]` back into the loaded candidate subtype row - the checked-in periodic-company trace now exposes those gaps as structured statuses instead of only prose: