From 965bcf10c7b05c37aae293ccb2a6173ccf1c3bcc Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Sun, 19 Apr 2026 10:03:12 -0700 Subject: [PATCH] Record dispatch cluster corpus totals --- crates/rrt-runtime/src/smp.rs | 4 ++++ docs/rehost-queue.md | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/crates/rrt-runtime/src/smp.rs b/crates/rrt-runtime/src/smp.rs index 293aaf5..cc3fc62 100644 --- a/crates/rrt-runtime/src/smp.rs +++ b/crates/rrt-runtime/src/smp.rs @@ -5463,6 +5463,10 @@ fn build_periodic_company_service_trace_report( "The periodic-company trace now also surfaces the strongest non-transport persisted source candidate for [site+0x276]: the ordinary loaded runtime-effect lane 0x00444d92 -> 0x00432f40(kind 8) -> 0x004323a0 -> 0x00431b20 above the non-direct 0x4e99/0x4e9a/0x4e9b bundle. That branch is no longer just a blocker note; the remaining question is the tighter control-lane mapping from loaded rows into trigger kind 8 and then into the placed-structure mutation opcodes." .to_string(), ); + notes.push( + "Installed-map cluster counts now sharpen that candidate lane too: the current rt3_105/maps corpus has 41 bundled maps, 38 of them with dispatch-strip rows, and 318 dispatch-strip records total, all still on the non-direct compact family with null trigger kind. The add-building subset inside that corpus is narrower still at 10 grouped occurrences across 7 recovered descriptor keys (Barracks, Bauxite Mine, FarmGrain, Furniture Factory, Logging Camp, Port01, Warehouse05), again all with null trigger kind. So the open question is no longer whether ordinary loaded rows can reach the 0x00431b20 strip at scale; it is specifically how any of those rows acquire or bypass the missing trigger-kind control lane." + .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(), ); diff --git a/docs/rehost-queue.md b/docs/rehost-queue.md index 6d7a457..3f388ac 100644 --- a/docs/rehost-queue.md +++ b/docs/rehost-queue.md @@ -324,6 +324,13 @@ Working rule: coverage; the same counts output now also carries an explicit add-building subset so the acquisition-side branch can compare `Add Building` records and their still-missing trigger-kind coverage without grepping the full occurrence dump. + - the installed-map totals are grounded now too: + current `rt3_105/maps` corpus gives `41` bundled maps, `38` maps with dispatch-strip rows, and + `318` dispatch-strip records total, all on `real_packed_nondirect_compact_v1` with + `dispatch_strip_records_with_trigger_kind = 0`; the add-building subset inside that corpus is + only `10` grouped occurrences across `7` recovered descriptor keys + (`Barracks`, `Bauxite Mine`, `FarmGrain`, `Furniture Factory`, `Logging Camp`, `Port01`, + `Warehouse05`), again all still missing trigger kind - the per-record trigger gate is explicit now too: direct disassembly of `0x004323a0` shows the service returns before dispatch unless one-shot latch `[event+0x81f]` is clear, mode byte `[event+0x7ef]` matches the selected