From ff8f147dbc53c457dc9c6329ccb3d59b3689be88 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Sat, 18 Apr 2026 22:22:25 -0700 Subject: [PATCH] Bind acquisition tri-lane to live scorer writers --- crates/rrt-runtime/src/smp.rs | 127 ++++++++++++++++++++++++++++++---- docs/rehost-queue.md | 24 +++++-- 2 files changed, 134 insertions(+), 17 deletions(-) diff --git a/crates/rrt-runtime/src/smp.rs b/crates/rrt-runtime/src/smp.rs index d218ac9..5944812 100644 --- a/crates/rrt-runtime/src/smp.rs +++ b/crates/rrt-runtime/src/smp.rs @@ -4630,6 +4630,8 @@ fn build_periodic_company_service_trace_report( .to_string(), "opcode-dispatch strip 0x00431b20 routes grouped 0x0061039c opcodes into the same live site-mutation helpers 0x00430040 / 0x00426d60 / 0x0042fc90 rather than the bring-up replay family" .to_string(), + "direct local writer strip now grounds live cached-tri-lane producers too: 0x0040d450 writes [site+0x310] through owner-company-aware scoring, and the broader candidate-processing loop 0x00410b30..0x004118f4 writes [site+0x310/+0x338/+0x360] after gating rows through 0x00412560" + .to_string(), "company stat-family lane 0x2329/0x0d already rehosted in runtime company state".to_string(), "company market state now carries the save-native linked-transit route-anchor tuple [company+0x0d35] and [company+0x7664/+0x7668/+0x766c]" .to_string(), @@ -4675,22 +4677,27 @@ fn build_periodic_company_service_trace_report( }, SmpServiceConsumerHypothesis { label: "site_cached_tri_lane_payload_or_restore_owner".to_string(), - status: "ruled_down_for_checked_in_save_seams_restore_family_still_open".to_string(), + status: "checked_in_save_seams_ruled_down_live_scoring_family_grounded_exact_semantics_open".to_string(), candidate_consumers: vec![ "0x36b1/0x36b2/0x36b3 placed-structure triplet owner".to_string(), "0x00455fc0 shared tagged payload loader".to_string(), "0x00444690 -> 0x004133b0 replay strip".to_string(), + "0x0040d450 owner-company-aware local scorer writing [site+0x310]".to_string(), + "0x00410b30..0x004118f4 candidate-processing loop writing [site+0x310/+0x338/+0x360] after 0x00412560".to_string(), ], evidence: vec![ "0x0040cac0 is only the exact raw delta reader over [site+0x310/+0x338/+0x360]".to_string(), "direct local binary inspection now shows 0x0040c9a0 as the deferred additive accumulator over [site+0x310/+0x338/+0x360], folding that tri-lane into [site+0x2b4/+0x2b8/+0x2bc], mirroring the nine-dword side array rooted at [site+0x2e4], and then clearing the tri-lane".to_string(), "direct local caller census now shows 0x0040c9a0 only under the broad live-collection sweep 0x0040a3a1..0x0040a4d3, while 0x0040cac0 stays under weighted scoring or evaluation families such as 0x0040fcc0..0x0040fe28 and 0x00422c62..0x00422d3c".to_string(), - "the current binary write scan finds no direct placed-structure runtime writer for [site+0x310/+0x338/+0x360]".to_string(), + "direct local binary inspection now shows concrete live producers too: 0x0040d4aa/0x0040d4b0 add into [site+0x310], 0x0041114a7/0x004111572 add into [site+0x310], 0x0041114b7/0x004111582 add into [site+0x338], and 0x0041118aa/0x0041118f4 add into [site+0x360]".to_string(), + "0x0040d450 is a small owner-company-aware producer over [site+0x276], 0x00455810/0x00455800/0x0044ad60, and 0x00436590 ids 0x66/0x68 that writes directly into [site+0x310]".to_string(), + "0x00410b30..0x004118f4 is a broader candidate-processing loop walking 0xbc-stride rows, gating them through 0x00412560, and then accumulating stack temporaries plus direct writes into [site+0x310/+0x338/+0x360]".to_string(), + "0x00412560 itself is a shared candidate/admissibility gate over candidate-row fields [+0x20/+0x22/+0x24/+0x28/+0x2c/+0x44], world date/flags via 0x006cec78, and the candidate table 0x0062ba8c".to_string(), "current checked-in save owners still do not serialize those lanes directly, which rules down the known save seams while leaving a later restore family open".to_string(), "0x00481430 -> 0x0047d8e0 repopulates the dynamic side-buffer route-entry list, three byte arrays, five proximity buckets, and trailing scratch band from stream without claiming the tri-lane".to_string(), ], blockers: vec![ - "no checked-in triplet or side-buffer payload field is tied directly to the tri-lane, the dynamic side-buffer stream-load owner still does not claim it, and no later restore owner is grounded yet".to_string(), + "no checked-in triplet or side-buffer payload field is tied directly to the tri-lane, and the remaining open question is now the exact service semantics and persisted inputs of the grounded live scorer family rather than the existence of runtime writers".to_string(), ], }, SmpServiceConsumerHypothesis { @@ -4718,12 +4725,12 @@ 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 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(), + "exact persisted inputs and shellless service semantics for the now-grounded live cached tri-lane writer family over [site+0x310/+0x338/+0x360], especially 0x0040d450 and 0x00410b30..0x004118f4 above 0x00412560".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, constructor-side 0x00480210 seeds it for new linked-site rows, and 0x004269b0 resolves the chosen site id back through 0x0062b26c before mutating [site+0x276], so this lane is reconstructible from collection identity for the 0x004014b0 commit path".to_string(), - "[site+0x310/+0x338/+0x360] cached tri-lane: exact delta reader grounded at 0x0040cac0 and deferred additive accumulator/reset helper grounded at 0x0040c9a0, but the current binary write scan still finds no direct placed-structure runtime writer, so the lane now looks restore-owned rather than service-produced".to_string(), + "[site+0x310/+0x338/+0x360] cached tri-lane: exact delta reader grounded at 0x0040cac0, deferred additive accumulator/reset helper grounded at 0x0040c9a0, and direct live producers now grounded at 0x0040d450 plus the broader 0x00410b30..0x004118f4 candidate-processing loop above 0x00412560; the remaining gap is exact service semantics and persisted inputs, not writer existence".to_string(), "placed-structure subtype filter: 0x0040d360 is the exact test [candidate+0x32] == 4, the owning subtype byte is already bounded under 0x004131f0 -> 0x00412fb0 -> 0x004120b0 -> 0x00412ab0, and direct local binary inspection now grounds stream-load callback 0x0040ce60 as the restore-side bridge into [site+0x3cc/+0x3d0]".to_string(), ]; let atlas_candidate_consumers = vec![ @@ -4753,6 +4760,14 @@ fn build_periodic_company_service_trace_report( .to_string(), "0x0040cac0 placed-structure cached tri-lane delta sampler over [site+0x310/+0x338/+0x360]" .to_string(), + "0x0040c9a0 deferred additive accumulator/reset folding [site+0x310/+0x338/+0x360] into [site+0x2b4/+0x2b8/+0x2bc] and the side array rooted at [site+0x2e4]" + .to_string(), + "0x0040d450 owner-company-aware local scorer writing directly into [site+0x310] via 0x00455810/0x00455800/0x0044ad60 and 0x00436590 ids 0x66/0x68" + .to_string(), + "0x00412560 shared candidate/admissibility gate over 0x0062ba8c candidate rows and world date/flags before the tri-lane scoring loop" + .to_string(), + "0x00410b30..0x004118f4 broader candidate-processing loop writing [site+0x310/+0x338/+0x360] after 0x00412560" + .to_string(), "0x0040d360 placed-structure subtype-4 predicate over [candidate+0x32]" .to_string(), "0x0040d540 weighted region-to-company proximity scorer with pending-bonus context" @@ -4986,25 +5001,25 @@ 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, constructor-side 0x00480210 already seeds that self-id lane for new linked-site rows, 0x004269b0 resolves the chosen site id back through 0x0062b26c before mutating [site+0x276], 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] 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, 0x004269b0 resolves the chosen site id back through 0x0062b26c before mutating [site+0x276], the cached tri-lane now has grounded live producers at 0x0040d450 and 0x00410b30..0x004118f4 above 0x00412560, 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], the persisted inputs and exact shellless semantics of the live cached tri-lane scorer family, 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(), ); notes.push( - "The create-side family is grounded separately too. City-connection direct placement already reaches the shared constructor/finalize strip 0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10, and the direct writer census now shows [site+0x276] writes clustering under create-side, acquisition-side, and bulk control-transfer families rather than under the known replay strip. So the remaining shellless gap is no longer 'how are new placed structures finalized?' or '[site+0x2a4] mystery'; it is specifically how restored existing rows regain the owner-company lane and cached tri-lane before acquisition-style consumers run.".to_string(), + "The create-side family is grounded separately too. City-connection direct placement already reaches the shared constructor/finalize strip 0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10, and the direct writer census now shows [site+0x276] writes clustering under create-side, acquisition-side, and bulk control-transfer families rather than under the known replay strip. So the remaining shellless gap is no longer 'how are new placed structures finalized?', '[site+0x2a4] mystery', or 'does the tri-lane even have live writers?'; it is specifically how restored existing rows regain the owner-company lane and which persisted inputs feed the grounded tri-lane scorer family before acquisition-style consumers run.".to_string(), ); notes.push( "The tri-lane restore side is narrower now too. The checked-in dynamic side-buffer load owner 0x00481430 -> 0x0047d8e0 repopulates the route-entry list, three per-site byte arrays, five proximity buckets, and the trailing scratch band from stream, so that seam is no longer a plausible hidden owner for [site+0x310/+0x338/+0x360].".to_string(), ); notes.push( - "Direct local binary inspection now also gives the tri-lane one concrete runtime role: 0x0040c9a0 folds [site+0x310/+0x338/+0x360] into the local scalar band [site+0x2b4/+0x2b8/+0x2bc], mirrors the nine-dword side array rooted at [site+0x2e4], and then clears the tri-lane. Caller census keeps that role narrow too: 0x0040c9a0 only appears under the broad live-collection sweep 0x0040a3a1..0x0040a4d3, while 0x0040cac0 stays under weighted scoring/evaluation families such as 0x0040fcc0..0x0040fe28 and 0x00422c62..0x00422d3c. Together that makes the lane look like a deferred additive cache handed off by restore rather than an ordinary live service output.".to_string(), + "Direct local binary inspection now also gives the tri-lane a concrete live runtime role: 0x0040c9a0 folds [site+0x310/+0x338/+0x360] into the local scalar band [site+0x2b4/+0x2b8/+0x2bc], mirrors the nine-dword side array rooted at [site+0x2e4], and then clears the tri-lane. Caller census keeps that accumulator role narrow too: 0x0040c9a0 only appears under the broad live-collection sweep 0x0040a3a1..0x0040a4d3, while 0x0040cac0 stays under weighted scoring/evaluation families such as 0x0040fcc0..0x0040fe28 and 0x00422c62..0x00422d3c. The direct writer strip is grounded too: 0x0040d450 writes [site+0x310] through owner-company-aware scoring, and the broader 0x00410b30..0x004118f4 candidate-processing loop writes [site+0x310/+0x338/+0x360] after gating rows through 0x00412560.".to_string(), ); notes.push( "Direct local binary inspection now grounds the cached-candidate restore bridge too: the placed-structure stream-load owner 0x00413280 dispatches per-entry vtable slot +0x40 on the 0x005c8c50 specialization table, that slot resolves to 0x0040ce60, and 0x0040ce60 immediately re-enters 0x0040cd70 plus 0x0045c150. So the acquisition-side cached source/candidate bridge [site+0x3cc/+0x3d0] is no longer a generic restore mystery for stream-loaded rows; the remaining restored-row gaps are [site+0x276] and the deferred tri-lane.".to_string(), ); notes.push( - "Direct disassembly now tightens the remaining placed-structure lanes too: 0x0040cac0 is only the raw tri-lane delta reader over [site+0x310/+0x338/+0x360]; 0x0040d360 is only the exact subtype test [candidate+0x32] == 4; and the current binary write scan finds no direct placed-structure runtime writer for either [site+0x2a4] or [site+0x310/+0x338/+0x360], which now makes both lanes look payload/restore-owned rather than service-produced.".to_string(), + "Direct disassembly now tightens the remaining placed-structure lanes too: 0x0040cac0 is only the raw tri-lane delta reader over [site+0x310/+0x338/+0x360]; 0x0040d360 is only the exact subtype test [candidate+0x32] == 4; and the direct writer strip now shows [site+0x2a4] staying replay/constructor-owned while [site+0x310/+0x338/+0x360] is service-produced by the grounded 0x0040d450 / 0x00410b30..0x004118f4 family above 0x00412560.".to_string(), ); notes.push( "That branch also reuses the same peer-site helper strip already bounded under the city-connection family: 0x0041f6e0 resolves the current center world-grid cell and checks one packed token through 0x0042b2d0, 0x0047de00 follows the linked region behind the candidate site into the status byte returned by 0x0040c990, and 0x004801a0 checks whether one candidate site is reachable from the cached company route anchor through 0x00401860 -> 0x0048e3c0.".to_string(), @@ -28025,7 +28040,7 @@ mod tests { let trace = build_periodic_company_service_trace_report(&analysis); assert_eq!(trace.selected_company_id, Some(7)); assert_eq!(trace.atlas_candidate_consumers.len(), 9); - assert_eq!(trace.known_bridge_helpers.len(), 59); + assert_eq!(trace.known_bridge_helpers.len(), 63); assert_eq!(trace.next_owner_questions.len(), 4); assert_eq!(trace.companies.len(), 1); assert_eq!( @@ -28143,7 +28158,7 @@ mod tests { ); assert_eq!( trace.near_city_acquisition_projection_hypotheses[1].status, - "ruled_down_for_checked_in_save_seams_restore_family_still_open" + "checked_in_save_seams_ruled_down_live_scoring_family_grounded_exact_semantics_open" ); assert_eq!( trace.near_city_acquisition_projection_hypotheses[2].label, @@ -28165,6 +28180,18 @@ mod tests { .iter() .any(|line| line.contains("0x36b1/0x36b2/0x36b3")) ); + assert!( + trace.near_city_acquisition_projection_hypotheses[1] + .candidate_consumers + .iter() + .any(|line| line.contains("0x0040d450")) + ); + assert!( + trace.near_city_acquisition_projection_hypotheses[1] + .candidate_consumers + .iter() + .any(|line| line.contains("0x00410b30..0x004118f4") && line.contains("0x00412560")) + ); assert!( trace.near_city_acquisition_projection_hypotheses[1] .evidence @@ -28185,6 +28212,39 @@ mod tests { && line.contains("0x0040fcc0..0x0040fe28") && line.contains("0x00422c62..0x00422d3c")) ); + assert!( + trace.near_city_acquisition_projection_hypotheses[1] + .evidence + .iter() + .any(|line| line.contains("0x0040d4aa/0x0040d4b0") + && line.contains("0x0041114a7/0x004111572") + && line.contains("0x0041118aa/0x0041118f4")) + ); + assert!( + trace.near_city_acquisition_projection_hypotheses[1] + .evidence + .iter() + .any(|line| line.contains("0x0040d450") + && line.contains("[site+0x276]") + && line.contains("0x00436590") + && line.contains("[site+0x310]")) + ); + assert!( + trace.near_city_acquisition_projection_hypotheses[1] + .evidence + .iter() + .any(|line| line.contains("0x00410b30..0x004118f4") + && line.contains("0xbc-stride") + && line.contains("[site+0x310/+0x338/+0x360]")) + ); + assert!( + trace.near_city_acquisition_projection_hypotheses[1] + .evidence + .iter() + .any(|line| line.contains("0x00412560") + && line.contains("0x006cec78") + && line.contains("0x0062ba8c")) + ); assert!( trace.near_city_acquisition_projection_hypotheses[2] .evidence @@ -28201,7 +28261,7 @@ mod tests { trace .near_city_acquisition_runtime_backed_input_families .len(), - 14 + 15 ); assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 2); assert_eq!(trace.near_city_acquisition_region_lane_statuses.len(), 4); @@ -28313,6 +28373,15 @@ mod tests { && line.contains("0x0061039c") && line.contains("0x00430040 / 0x00426d60 / 0x0042fc90")) ); + assert!( + trace + .near_city_acquisition_runtime_backed_input_families + .iter() + .any(|line| line.contains("0x0040d450") + && line.contains("[site+0x310]") + && line.contains("0x00410b30..0x004118f4") + && line.contains("0x00412560")) + ); assert!( trace .near_city_acquisition_runtime_backed_input_families @@ -28340,6 +28409,14 @@ mod tests { .iter() .any(|line| line.contains("[site+0x2a4]")) ); + assert!( + trace + .near_city_acquisition_remaining_owner_gaps + .iter() + .any(|line| line.contains("0x0040d450") + && line.contains("0x00410b30..0x004118f4") + && line.contains("0x00412560")) + ); assert!( trace .near_city_acquisition_region_lane_statuses @@ -28356,7 +28433,10 @@ mod tests { .iter() .any(|line| line.contains("[site+0x310/+0x338/+0x360]") && line.contains("0x0040cac0") - && line.contains("0x0040c9a0")) + && line.contains("0x0040c9a0") + && line.contains("0x0040d450") + && line.contains("0x00410b30..0x004118f4") + && line.contains("0x00412560")) ); assert!( trace @@ -28564,6 +28644,27 @@ mod tests { && line.contains("[site+0x310/+0x338/+0x360]") && line.contains("[site+0x2b4/+0x2b8/+0x2bc]")) ); + assert!( + trace + .known_bridge_helpers + .iter() + .any(|line| line.contains("0x0040d450") + && line.contains("[site+0x310]") + && line.contains("0x00436590")) + ); + assert!( + trace + .known_bridge_helpers + .iter() + .any(|line| line.contains("0x00412560") + && line.contains("0x0062ba8c") + && line.contains("world date/flags")) + ); + assert!(trace.known_bridge_helpers.iter().any( + |line| line.contains("0x00410b30..0x004118f4") + && line.contains("[site+0x310/+0x338/+0x360]") + && line.contains("0x00412560") + )); assert!( trace .known_bridge_helpers diff --git a/docs/rehost-queue.md b/docs/rehost-queue.md index 679e67b..f7ba65c 100644 --- a/docs/rehost-queue.md +++ b/docs/rehost-queue.md @@ -115,7 +115,7 @@ Working rule: `0x00481430 -> 0x0047d8e0` repopulates the route-entry list, three byte arrays, five proximity buckets, and the trailing scratch band from stream, but still does not claim the cached tri-lane - - the tri-lane now has one real runtime consumer too: + - the tri-lane now has one real runtime accumulator too: direct local binary inspection shows `0x0040c9a0` folding `[site+0x310/+0x338/+0x360]` into `[site+0x2b4/+0x2b8/+0x2bc]`, mirroring the nine-dword side array rooted at `[site+0x2e4]`, and then clearing the tri-lane @@ -123,6 +123,20 @@ Working rule: `0x0040c9a0` only appears under the broad live-collection sweep `0x0040a3a1..0x0040a4d3`, while `0x0040cac0` stays under weighted scoring or evaluation families such as `0x0040fcc0..0x0040fe28` and `0x00422c62..0x00422d3c` + - direct local binary inspection now rules out the old “no live writer” hypothesis too: + `0x0040d4aa/0x0040d4b0` add into `[site+0x310]`, + `0x0041114a7/0x004111572` add into `[site+0x310]`, + `0x0041114b7/0x004111582` add into `[site+0x338]`, and + `0x0041118aa/0x0041118f4` add into `[site+0x360]` + - the writer family is now bounded one level higher: + `0x0040d450` is a small owner-company-aware producer over `[site+0x276]`, + `0x00455810/0x00455800/0x0044ad60`, and `0x00436590` ids `0x66/0x68`, while + `0x00410b30..0x004118f4` is a broader candidate-processing loop walking `0xbc`-stride rows, + gating them through `0x00412560`, and then accumulating both stack temporaries and direct + writes into `[site+0x310/+0x338/+0x360]` + - `0x00412560` is now bounded as the shared candidate/admissibility gate above that loop: + it checks candidate-row fields `+0x20/+0x22/+0x24/+0x28/+0x2c/+0x44`, world date/flags via + `0x006cec78`, and the candidate table `0x0062ba8c` - the cached source/candidate bridge is now grounded on stream load too: direct local binary inspection shows `0x00413280` dispatching per-entry vtable slot `+0x40` on the `0x005c8c50` specialization table, that slot resolving to `0x0040ce60`, and @@ -163,9 +177,11 @@ Working rule: `0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10` as the shared constructor/finalize strip for newly created site rows - so the acquisition blocker is no longer “is there any real consumer family above these - lanes?”, “how do new placed structures finalize?”, or “is `[site+0x2a4]` still missing?”; it - is specifically the restore or replay owner that populates `[site+0x276]` plus the cached - tri-lane for already-restored rows before shellless acquisition runs + lanes?”, “how do new placed structures finalize?”, “is `[site+0x2a4]` still missing?”, or + “does the tri-lane even have live writers?”; it is now specifically the persisted inputs and + exact shellless service semantics above the grounded live tri-lane scorer family, plus the + save-native or replay owner that populates `[site+0x276]` for already-restored rows before + shellless acquisition runs - direct disassembly now shows the generic base constructor `0x0052edf0` clearing base state through `0x0052ecd0` and then writing `[this+0x04]` from caller arg `1` - `0x00455b70` is the concrete placed-structure specialization constructor feeding