Bind acquisition owner writes to opcode dispatcher

This commit is contained in:
Jan Petykiewicz 2026-04-18 22:09:11 -07:00
commit 49ee76ef2a
2 changed files with 45 additions and 3 deletions

View file

@ -4586,6 +4586,8 @@ fn build_periodic_company_service_trace_report(
.to_string(), .to_string(),
"city-connection direct-placement family 0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10 already grounds the shared allocator/finalize path for newly created site rows" "city-connection direct-placement family 0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10 already grounds the shared allocator/finalize path for newly created site rows"
.to_string(), .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(),
"company stat-family lane 0x2329/0x0d already rehosted in runtime company state".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]" "company market state now carries the save-native linked-transit route-anchor tuple [company+0x0d35] and [company+0x7664/+0x7668/+0x766c]"
.to_string(), .to_string(),
@ -4622,6 +4624,8 @@ fn build_periodic_company_service_trace_report(
"0x00444690 -> 0x004133b0 -> 0x0040ee10 is the current checked-in replay family above live placed structures".to_string(), "0x00444690 -> 0x004133b0 -> 0x0040ee10 is the current checked-in replay family above live placed structures".to_string(),
"0x004133b0 rebuilds cloned local-runtime records through 0x0040e450 and 0x0040ee10 only republishes local position/scalar triplets before 0x0040e360".to_string(), "0x004133b0 rebuilds cloned local-runtime records through 0x0040e450 and 0x0040ee10 only republishes local position/scalar triplets before 0x0040e360".to_string(),
"direct local writer census now shows the grounded [site+0x276] write side clustering under live mutation families such as 0x004269b0 / 0x00426a10, the create-side 0x0040ef10 / 0x0040f6d0 strip, and the bulk reassignment families 0x00426dce..0x00426ea1 and 0x00430040..0x004300d6 rather than under the known replay strip".to_string(), "direct local writer census now shows the grounded [site+0x276] write side clustering under live mutation families such as 0x004269b0 / 0x00426a10, the create-side 0x0040ef10 / 0x0040f6d0 strip, and the bulk reassignment families 0x00426dce..0x00426ea1 and 0x00430040..0x004300d6 rather than under the known replay strip".to_string(),
"direct local control-flow reconstruction now shows those same writer families hanging under the 0x00431b20 opcode dispatcher over 0x0061039c: opcodes 0x04..0x07 dispatch to 0x00430040, opcodes 0x08/0x10..0x13 dispatch to 0x00426d60, and opcodes 0x0d/0x16 dispatch to 0x0042fc90".to_string(),
"0x0042fc90 itself iterates the live placed-structure collection 0x0062b26c, filters rows through 0x0040c990 plus optional company match [site+0x276], and then dispatches row vtable slot +0x70, which keeps that branch on the live application side rather than replay".to_string(),
], ],
blockers: vec![ blockers: vec![
"current atlas evidence does not tie 0x004133b0 / 0x0040ee10 directly to [site+0x276], and the grounded write side now looks create-side or control-transfer-side rather than replay-side, so another restore or persisted owner strip is still needed for the owner-company lane".to_string(), "current atlas evidence does not tie 0x004133b0 / 0x0040ee10 directly to [site+0x276], and the grounded write side now looks create-side or control-transfer-side rather than replay-side, so another restore or persisted owner strip is still needed for the owner-company lane".to_string(),
@ -4738,6 +4742,8 @@ fn build_periodic_company_service_trace_report(
"0x004269b0 acquisition commit owner resolving one site id through 0x0062b26c and then mutating [site+0x276]/[site+0x27a] on the chosen live row".to_string(), "0x004269b0 acquisition commit owner resolving one site id through 0x0062b26c and then mutating [site+0x276]/[site+0x27a] on the chosen live row".to_string(),
"0x00426dce..0x00426ea1 bulk placed-structure owner-company reassignment over 0x0062b26c for non-subtype-4 rows matching the current company".to_string(), "0x00426dce..0x00426ea1 bulk placed-structure owner-company reassignment over 0x0062b26c for non-subtype-4 rows matching the current company".to_string(),
"0x00430040..0x004300d6 filtered placed-structure owner-company overwrite over site classes 0x09/0x0b/0x0c".to_string(), "0x00430040..0x004300d6 filtered placed-structure owner-company overwrite over site classes 0x09/0x0b/0x0c".to_string(),
"0x00431b20 grouped opcode dispatcher over 0x0061039c routing opcodes 0x04..0x07 to 0x00430040, 0x08/0x10..0x13 to 0x00426d60, and 0x0d/0x16 to 0x0042fc90".to_string(),
"0x0042fc90 live placed-structure mutator iterating 0x0062b26c through 0x0040c990, optional owner-company match [site+0x276], and row vtable slot +0x70".to_string(),
"0x0047fd50 linked-peer candidate-class gate returning true only for class-byte values 0/1/2 at [candidate+0x8c]".to_string(), "0x0047fd50 linked-peer candidate-class gate returning true only for class-byte values 0/1/2 at [candidate+0x8c]".to_string(),
"0x004131f0 / 0x00412fb0 / 0x004120b0 / 0x00412ab0 aux-candidate load and stem-policy chain owning subtype byte [candidate+0x32]".to_string(), "0x004131f0 / 0x00412fb0 / 0x004120b0 / 0x00412ab0 aux-candidate load and stem-policy chain owning subtype byte [candidate+0x32]".to_string(),
"0x0040dc40 station-detail linked-site mutation validator/apply path consuming [site+0x276], candidate field [candidate+0x22], and company stat-family 0x2329/0x0d" "0x0040dc40 station-detail linked-site mutation validator/apply path consuming [site+0x276], candidate field [candidate+0x22], and company stat-family 0x2329/0x0d"
@ -4784,7 +4790,7 @@ fn build_periodic_company_service_trace_report(
let next_owner_questions = vec![ let next_owner_questions = vec![
"Which persisted placed-structure and city-or-region linkage fields are still missing for a shellless 0x004014b0 implementation once the peer-site restore subset, company route-anchor tuple, [site+0x276] live owner meaning, and candidate subtype owner strip are accepted as grounded?".to_string(), "Which persisted placed-structure and city-or-region linkage fields are still missing for a shellless 0x004014b0 implementation once the peer-site restore subset, company route-anchor tuple, [site+0x276] live owner meaning, and candidate subtype owner strip are accepted as grounded?".to_string(),
"How much of the linked-peer refresh path is strictly post-load versus recurring runtime maintenance now that 0x004133b0 reaches 0x0040ee10 -> 0x0040edf6 -> 0x00480710 during bring-up and 0x004160aa also re-enters 0x0040ee10 later?".to_string(), "How much of the linked-peer refresh path is strictly post-load versus recurring runtime maintenance now that 0x004133b0 reaches 0x0040ee10 -> 0x0040edf6 -> 0x00480710 during bring-up and 0x004160aa also re-enters 0x0040ee10 later?".to_string(),
"Which later save payload or restore owner rehydrates the remaining placed-structure-side 0x004014b0 inputs [site+0x276] and [site+0x310/+0x338/+0x360] once [site+0x2a4] is treated as reconstructible from collection identity and peer/company inputs are accepted as grounded?".to_string(), "Which later save payload or restore owner rehydrates the remaining placed-structure-side 0x004014b0 inputs [site+0x276] and [site+0x310/+0x338/+0x360] once [site+0x2a4] is treated as reconstructible from collection identity, the replay strip is ruled down, and the 0x00431b20 grouped opcode dispatcher is treated as a live application owner rather than a restore seam?".to_string(),
"Which infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(), "Which infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(),
]; ];
@ -27960,7 +27966,7 @@ mod tests {
let trace = build_periodic_company_service_trace_report(&analysis); let trace = build_periodic_company_service_trace_report(&analysis);
assert_eq!(trace.selected_company_id, Some(7)); assert_eq!(trace.selected_company_id, Some(7));
assert_eq!(trace.atlas_candidate_consumers.len(), 9); assert_eq!(trace.atlas_candidate_consumers.len(), 9);
assert_eq!(trace.known_bridge_helpers.len(), 57); assert_eq!(trace.known_bridge_helpers.len(), 59);
assert_eq!(trace.next_owner_questions.len(), 4); assert_eq!(trace.next_owner_questions.len(), 4);
assert_eq!(trace.companies.len(), 1); assert_eq!(trace.companies.len(), 1);
assert_eq!( assert_eq!(
@ -28127,7 +28133,7 @@ mod tests {
trace trace
.near_city_acquisition_runtime_backed_input_families .near_city_acquisition_runtime_backed_input_families
.len(), .len(),
13 14
); );
assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 2); assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 2);
assert_eq!(trace.near_city_acquisition_region_lane_statuses.len(), 4); assert_eq!(trace.near_city_acquisition_region_lane_statuses.len(), 4);
@ -28231,6 +28237,14 @@ mod tests {
.any(|line| line .any(|line| line
.contains("0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10")) .contains("0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10"))
); );
assert!(
trace
.near_city_acquisition_runtime_backed_input_families
.iter()
.any(|line| line.contains("0x00431b20")
&& line.contains("0x0061039c")
&& line.contains("0x00430040 / 0x00426d60 / 0x0042fc90"))
);
assert!( assert!(
trace trace
.near_city_acquisition_runtime_backed_input_families .near_city_acquisition_runtime_backed_input_families
@ -28388,6 +28402,25 @@ mod tests {
.any(|line| line.contains("0x00430040..0x004300d6") .any(|line| line.contains("0x00430040..0x004300d6")
&& line.contains("0x09/0x0b/0x0c")) && line.contains("0x09/0x0b/0x0c"))
); );
assert!(
trace
.known_bridge_helpers
.iter()
.any(|line| line.contains("0x00431b20")
&& line.contains("0x0061039c")
&& line.contains("0x00430040")
&& line.contains("0x00426d60")
&& line.contains("0x0042fc90"))
);
assert!(
trace
.known_bridge_helpers
.iter()
.any(|line| line.contains("0x0042fc90")
&& line.contains("0x0062b26c")
&& line.contains("[site+0x276]")
&& line.contains("vtable slot +0x70"))
);
assert!( assert!(
trace trace
.known_bridge_helpers .known_bridge_helpers

View file

@ -142,6 +142,15 @@ Working rule:
`0x004269b0 / 0x00426a10`, the create-side `0x0040ef10 / 0x0040f6d0` strip, and the bulk `0x004269b0 / 0x00426a10`, the create-side `0x0040ef10 / 0x0040f6d0` strip, and the bulk
reassignment families `0x00426dce..0x00426ea1` and `0x00430040..0x004300d6`, not under the reassignment families `0x00426dce..0x00426ea1` and `0x00430040..0x004300d6`, not under the
known `0x00444690 -> 0x004133b0 -> 0x0040ee10` replay strip known `0x00444690 -> 0x004133b0 -> 0x0040ee10` replay strip
- the same write side is now grounded one level higher too:
direct local control-flow reconstruction shows those families hanging under the grouped opcode
dispatcher `0x00431b20` over `0x0061039c`, with opcodes `0x04..0x07` dispatching to
`0x00430040`, opcodes `0x08/0x10..0x13` dispatching to `0x00426d60`, and opcodes
`0x0d/0x16` dispatching to `0x0042fc90`
- `0x0042fc90` itself is now ruled onto the live mutation side too:
it iterates the live placed-structure collection `0x0062b26c`, filters rows through
`0x0040c990`, optional owner-company match `[site+0x276]`, and row vtable slot `+0x70`,
which keeps that branch on the live application side rather than replay
- the create-side family is grounded separately too: - the create-side family is grounded separately too:
city-connection direct placement already reaches city-connection direct placement already reaches
`0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10` `0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10`