Add candidate table header cluster export

This commit is contained in:
Jan Petykiewicz 2026-04-21 18:41:12 -07:00
commit 0240c08012
8 changed files with 152 additions and 10 deletions

View file

@ -31,6 +31,7 @@ Canonical derived outputs for the patch 1.06 executable.
- `event-effects-building-bindings.json` - `event-effects-building-bindings.json`
- `economy-cargo-sources.json` - `economy-cargo-sources.json`
- `building-type-sources.json` - `building-type-sources.json`
- `candidate-table-header-clusters.json`
- `candidate-table-named-runs.json` - `candidate-table-named-runs.json`
- `compact-event-dispatch-cluster-counts.json` - `compact-event-dispatch-cluster-counts.json`
- `selected-year-bucket-ladder.json` - `selected-year-bucket-ladder.json`

View file

@ -0,0 +1,114 @@
{
"root_path": "rt3_wineprefix/drive_c/rt3/maps",
"file_count": 37,
"cluster_count": 3,
"skipped_file_count": 4,
"clusters": [
{
"header_word_0_hex": "0x00000000",
"header_word_1_hex": "0x00000000",
"file_count": 27,
"profile_families": [
"map-fixed-catalog-container-unknown",
"rt3-105-scenario-map-container-v1"
],
"source_kinds": [
"map-fixed-catalog-range"
],
"zero_trailer_count_min": 0,
"zero_trailer_count_max": 56,
"zero_trailer_count_values": [
0,
4,
8,
10,
11,
12,
13,
14,
15,
17,
18,
19,
21,
22,
32,
36,
41,
42,
51,
56
],
"distinct_zero_name_set_count": 27,
"sample_paths": [
"rt3_wineprefix/drive_c/rt3/maps/British Isles.gmp",
"rt3_wineprefix/drive_c/rt3/maps/California Island.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Chicago to New York.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Coast to Coast.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Dutchlantis.gmp",
"rt3_wineprefix/drive_c/rt3/maps/East Coast, USA.gmp",
"rt3_wineprefix/drive_c/rt3/maps/East of Mississippi.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Eastern Canada.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Eastern China.gmp",
"rt3_wineprefix/drive_c/rt3/maps/France.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Germantown.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Germany.gmp"
]
},
{
"header_word_0_hex": "0x10000000",
"header_word_1_hex": "0x00009000",
"file_count": 1,
"profile_families": [
"rt3-105-map-container-v1"
],
"source_kinds": [
"map-fixed-catalog-range"
],
"zero_trailer_count_min": 3,
"zero_trailer_count_max": 3,
"zero_trailer_count_values": [
3
],
"distinct_zero_name_set_count": 1,
"sample_paths": [
"rt3_wineprefix/drive_c/rt3/maps/Alternate USA.gmp"
]
},
{
"header_word_0_hex": "0xcdcdcdcd",
"header_word_1_hex": "0xcdcdcdcd",
"file_count": 9,
"profile_families": [
"map-fixed-catalog-container-unknown",
"rt3-105-alt-map-container-v1"
],
"source_kinds": [
"map-fixed-catalog-range"
],
"zero_trailer_count_min": 14,
"zero_trailer_count_max": 67,
"zero_trailer_count_values": [
14,
17,
18,
19,
21,
42,
67
],
"distinct_zero_name_set_count": 9,
"sample_paths": [
"rt3_wineprefix/drive_c/rt3/maps/Argentina Opens Up.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Britain.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Crossing the Alps.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Greenland Growing.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Japan Trembles.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Louisiana.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Pacific NW.gmp",
"rt3_wineprefix/drive_c/rt3/maps/South East Australia.gmp",
"rt3_wineprefix/drive_c/rt3/maps/Spanish Mainline.gmp"
]
}
]
}

View file

@ -69,6 +69,7 @@ The broader `compare-candidate-table` surface agrees with the same conclusion:
The checked-in Tier-2 evidence set now joins three canonical exports directly: The checked-in Tier-2 evidence set now joins three canonical exports directly:
- `artifacts/exports/rt3-1.06/building-type-sources.json` - `artifacts/exports/rt3-1.06/building-type-sources.json`
- `artifacts/exports/rt3-1.06/candidate-table-header-clusters.json`
- `artifacts/exports/rt3-1.06/event-effects-building-bindings.json` - `artifacts/exports/rt3-1.06/event-effects-building-bindings.json`
- `artifacts/exports/rt3-1.06/candidate-table-named-runs.json` - `artifacts/exports/rt3-1.06/candidate-table-named-runs.json`
@ -84,6 +85,11 @@ Taken together they keep the current frontier narrow and concrete:
split visible directly, `port00_warehouse00_row_pair_map_paths` keeps the carrier maps checked split visible directly, `port00_warehouse00_row_pair_map_paths` keeps the carrier maps checked
in, and the same export also keeps `files_with_port01_11_run_at_45_55_count = 37` plus in, and the same export also keeps `files_with_port01_11_run_at_45_55_count = 37` plus
`files_with_warehouse01_11_run_at_56_66_count = 37` across the whole probe-bearing corpus. `files_with_warehouse01_11_run_at_56_66_count = 37` across the whole probe-bearing corpus.
- `candidate-table-header-clusters.json` now keeps the root scan grounded too, with only `3`
stable header families across the same `37` maps:
`0x00000000 / 0x00000000 -> 27 maps`,
`0xcdcdcdcd / 0xcdcdcdcd -> 9 maps`, and
`0x10000000 / 0x00009000 -> 1 map` (`Alternate USA.gmp`).
- the same export now keeps the row/trailer crossover explicit too: - the same export now keeps the row/trailer crossover explicit too:
`row_pair_and_numbered_trailer_family_map_counts` records `row_pair_and_numbered_trailer_family_map_counts` records
`35/43 :: 0x00000001 -> 25 maps`, `35/43 :: 0x00000000 -> 5 maps`, `35/43 :: 0x00000001 -> 25 maps`, `35/43 :: 0x00000000 -> 5 maps`,
@ -91,9 +97,9 @@ Taken together they keep the current frontier narrow and concrete:
does not collapse to one numbered trailer lane. does not collapse to one numbered trailer lane.
So the open question is no longer whether the numbered families exist in stock assets, bindings, So the open question is no longer whether the numbered families exist in stock assets, bindings,
or shipped candidate tables. The real remaining question is which earlier seed/projection seam or shipped candidate tables, nor whether the fixed header side is unbounded. The real remaining
lets that fixed candidate-table cluster reach `0x00412d70` with nonzero bank-qualified state question is which earlier seed/projection seam lets that fixed candidate-table cluster reach
before `0x00419230` ever clones or renames it. `0x00412d70` with nonzero bank-qualified state before `0x00419230` ever clones or renames it.
## Current Implication ## Current Implication

View file

@ -35,6 +35,7 @@ pub const REQUIRED_EXPORTS: &[&str] = &[
"artifacts/exports/rt3-1.06/event-effects-building-bindings.json", "artifacts/exports/rt3-1.06/event-effects-building-bindings.json",
"artifacts/exports/rt3-1.06/event-effects-semantic-catalog.json", "artifacts/exports/rt3-1.06/event-effects-semantic-catalog.json",
"artifacts/exports/rt3-1.06/building-type-sources.json", "artifacts/exports/rt3-1.06/building-type-sources.json",
"artifacts/exports/rt3-1.06/candidate-table-header-clusters.json",
"artifacts/exports/rt3-1.06/candidate-table-named-runs.json", "artifacts/exports/rt3-1.06/candidate-table-named-runs.json",
"artifacts/exports/rt3-1.06/compact-event-dispatch-cluster-counts.json", "artifacts/exports/rt3-1.06/compact-event-dispatch-cluster-counts.json",
"artifacts/exports/rt3-1.06/economy-cargo-sources.json", "artifacts/exports/rt3-1.06/economy-cargo-sources.json",

View file

@ -1244,11 +1244,15 @@
problem is no longer whether those names exist as stable scenario rows; it is how that fixed problem is no longer whether those names exist as stable scenario rows; it is how that fixed
candidate-table cluster is projected into the later aux-record bank and then into the live clone candidate-table cluster is projected into the later aux-record bank and then into the live clone
families. families.
The root scan narrows the real corpus for that question too. `runtime scan-candidate-table-headers The root scan narrows the real corpus for that question too. The checked export
rt3_wineprefix/drive_c/rt3/maps` shows `37` probe-bearing shipped maps and `4` skips, while the `artifacts/exports/rt3-1.06/candidate-table-header-clusters.json` now keeps the fixed header
narrower `runtime scan-candidate-table-named-runs` command now keeps those aggregates explicit side grounded directly: `37` probe-bearing shipped maps, `4` skips, and only `3` stable header
too: `port00_warehouse00_row_pair_map_counts` records the two stable `00`-row families across families across that whole corpus, namely `0x00000000 / 0x00000000 -> 27 maps`,
those `37` probe-bearing maps as `35/43 -> 30 maps` and `10/18 -> 7 maps`, while `0xcdcdcdcd / 0xcdcdcdcd -> 9 maps`, and `0x10000000 / 0x00009000 -> 1 map`
(`Alternate USA.gmp`). The narrower
`artifacts/exports/rt3-1.06/candidate-table-named-runs.json` export keeps the row/run aggregates
explicit too: `port00_warehouse00_row_pair_map_counts` records the two stable `00`-row families
across those `37` probe-bearing maps as `35/43 -> 30 maps` and `10/18 -> 7 maps`, while
`files_with_port01_11_run_at_45_55_count = 37` and `files_with_port01_11_run_at_45_55_count = 37` and
`files_with_warehouse01_11_run_at_56_66_count = 37` keep the `Port01..11` / `Warehouse01..11` `files_with_warehouse01_11_run_at_56_66_count = 37` keep the `Port01..11` / `Warehouse01..11`
runs fixed at rows `45..55` and `56..66` in every probe-bearing map. Trailer families split runs fixed at rows `45..55` and `56..66` in every probe-bearing map. Trailer families split

View file

@ -14,7 +14,7 @@ This file is the short active queue for the current runtime and reverse-engineer
The checked `rt3_105/maps` compact-dispatch corpus is now exported directly and partially mirrored into the periodic-company trace: `41` maps scanned, `38` with dispatch-strip rows, `318` nondirect rows total, the add-building subset is only `10` grouped occurrences across `7` descriptor keys, and the strongest broader nondirect families are now bounded too at `36` grouped occurrences across `18` maps for `nondirect-ge1e-h0001-0360-0004-0100-0200-p0000-0000-0000-ffff :: [864:4]` plus `27` across `14` maps for the mixed `[-1:4]` cluster. All of those checked rows still lack recovered trigger kind. The active open question is therefore which ordinary loaded rows acquire or bypass the missing trigger-kind control lane before they can reach placed-structure mutation opcodes. The checked `rt3_105/maps` compact-dispatch corpus is now exported directly and partially mirrored into the periodic-company trace: `41` maps scanned, `38` with dispatch-strip rows, `318` nondirect rows total, the add-building subset is only `10` grouped occurrences across `7` descriptor keys, and the strongest broader nondirect families are now bounded too at `36` grouped occurrences across `18` maps for `nondirect-ge1e-h0001-0360-0004-0100-0200-p0000-0000-0000-ffff :: [864:4]` plus `27` across `14` maps for the mixed `[-1:4]` cluster. All of those checked rows still lack recovered trigger kind. The active open question is therefore which ordinary loaded rows acquire or bypass the missing trigger-kind control lane before they can reach placed-structure mutation opcodes.
Preserved checked control-lane detail now lives in [Periodic company control lane](rehost-queue/periodic-company-control-lane-2026-04-21.md). Preserved checked control-lane detail now lives in [Periodic company control lane](rehost-queue/periodic-company-control-lane-2026-04-21.md).
- Keep the next static Tier-2 building pass focused on the earlier seed/projection seam into `0x00412d70`, not another broad `BuildingTypes` sweep. - Keep the next static Tier-2 building pass focused on the earlier seed/projection seam into `0x00412d70`, not another broad `BuildingTypes` sweep.
The grounded owner strip is `0x004196c0 -> 0x00414490 -> 0x00416ce0 -> 0x00419230`, and the checked candidate-table export now keeps the concrete row families explicit too: among the `37` probe-bearing maps, `Port00/Warehouse00` stay at `35/43` on `30` maps and shift earlier to `10/18` on `7`, while `Port01..11` / `Warehouse01..11` stay fixed at `45..55` / `56..66` and the numbered trailer family splits independently at `0x00000001 -> 28 maps` versus `0x00000000 -> 9 maps`. The new crossover matrix stays mixed rather than collapsing to one side too: `35/43 :: 0x00000001 -> 25 maps`, `35/43 :: 0x00000000 -> 5 maps`, `10/18 :: 0x00000000 -> 4 maps`, and `10/18 :: 0x00000001 -> 3 maps`. The stock `BuildingTypes` side is narrower too: across `77` checked `.bca` files only `MachineShop.bca` carries nonzero selector bytes at `0xb8..0xbb`, while the broader nonzero stock signal lives in the `22`-file `.bty` alias-root family with `dword_0xbb = 0x000001f4`, especially the `TextileMill` branch that already covers `Port.bty` and `Warehouse.bty`. The active open question is therefore which earlier seed/projection path lifts that narrow stock-side signal and the fixed numbered cluster into nonzero live `[candidate+0xba/+0xbb]` before `0x00412d70` and `0x00419230` consume it. The grounded owner strip is `0x004196c0 -> 0x00414490 -> 0x00416ce0 -> 0x00419230`, and the checked candidate-table exports now keep the concrete scenario-side families explicit too: among the `37` probe-bearing maps, `Port00/Warehouse00` stay at `35/43` on `30` maps and shift earlier to `10/18` on `7`, while `Port01..11` / `Warehouse01..11` stay fixed at `45..55` / `56..66` and the numbered trailer family splits independently at `0x00000001 -> 28 maps` versus `0x00000000 -> 9 maps`. The new crossover matrix stays mixed rather than collapsing to one side too: `35/43 :: 0x00000001 -> 25 maps`, `35/43 :: 0x00000000 -> 5 maps`, `10/18 :: 0x00000000 -> 4 maps`, and `10/18 :: 0x00000001 -> 3 maps`. The checked header-cluster export keeps the same root scan bounded to only `3` families: `0x00000000 / 0x00000000 -> 27 maps`, `0xcdcdcdcd / 0xcdcdcdcd -> 9 maps`, and `0x10000000 / 0x00009000 -> 1 map` (`Alternate USA.gmp`). The stock `BuildingTypes` side is narrower too: across `77` checked `.bca` files only `MachineShop.bca` carries nonzero selector bytes at `0xb8..0xbb`, while the broader nonzero stock signal lives in the `22`-file `.bty` alias-root family with `dword_0xbb = 0x000001f4`, especially the `TextileMill` branch that already covers `Port.bty` and `Warehouse.bty`. The active open question is therefore which earlier seed/projection path lifts that narrow stock-side signal and the fixed numbered cluster into nonzero live `[candidate+0xba/+0xbb]` before `0x00412d70` and `0x00419230` consume it.
Preserved checked row-family detail now lives in [Tier2 candidate row families](rehost-queue/tier2-candidate-row-families-2026-04-21.md). Preserved checked row-family detail now lives in [Tier2 candidate row families](rehost-queue/tier2-candidate-row-families-2026-04-21.md).
Preserved checked stock selector-byte detail now lives in [Tier2 selector-byte sources](rehost-queue/tier2-selector-byte-sources-2026-04-21.md). Preserved checked stock selector-byte detail now lives in [Tier2 selector-byte sources](rehost-queue/tier2-selector-byte-sources-2026-04-21.md).
Preserved checked rebuild sequencing detail now lives in [Tier2 rebuild sequencing](rehost-queue/tier2-rebuild-sequencing-2026-04-21.md). Preserved checked rebuild sequencing detail now lives in [Tier2 rebuild sequencing](rehost-queue/tier2-rebuild-sequencing-2026-04-21.md).

View file

@ -8,7 +8,7 @@ useful as evidence, but should not stay in the short active queue file.
for the active periodic-company queue head, including the top ordinary nondirect cluster carrier for the active periodic-company queue head, including the top ordinary nondirect cluster carrier
maps. maps.
- `tier2-candidate-row-families-2026-04-21.md`: checked candidate-table row-family, trailer-family, - `tier2-candidate-row-families-2026-04-21.md`: checked candidate-table row-family, trailer-family,
and crossover carrier-map split for the active Tier-2 `0x00412d70` queue head. header-cluster, and crossover carrier-map split for the active Tier-2 `0x00412d70` queue head.
- `tier2-rebuild-sequencing-2026-04-21.md`: checked late bringup sequencing across - `tier2-rebuild-sequencing-2026-04-21.md`: checked late bringup sequencing across
`0x00435630 / 0x00412d70 / 0x00412fb0 / 0x00412c10` for the active Tier-2 queue head. `0x00435630 / 0x00412d70 / 0x00412fb0 / 0x00412c10` for the active Tier-2 queue head.
- `tier2-selector-byte-sources-2026-04-21.md`: checked stock `BuildingTypes` selector-byte and - `tier2-selector-byte-sources-2026-04-21.md`: checked stock `BuildingTypes` selector-byte and

View file

@ -6,6 +6,7 @@ short queue can stay focused on the owner question rather than restating export
## Checked Export ## Checked Export
- `artifacts/exports/rt3-1.06/candidate-table-named-runs.json` - `artifacts/exports/rt3-1.06/candidate-table-named-runs.json`
- `artifacts/exports/rt3-1.06/candidate-table-header-clusters.json`
The export now keeps the row-family split explicit instead of burying it only inside per-map The export now keeps the row-family split explicit instead of burying it only inside per-map
samples: samples:
@ -23,6 +24,10 @@ samples:
- `35/43 :: 0x00000000 -> 5` - `35/43 :: 0x00000000 -> 5`
- `10/18 :: 0x00000000 -> 4` - `10/18 :: 0x00000000 -> 4`
- `10/18 :: 0x00000001 -> 3` - `10/18 :: 0x00000001 -> 3`
- `candidate-table-header-clusters.json`
- `0x00000000 / 0x00000000 -> 27`
- `0xcdcdcdcd / 0xcdcdcdcd -> 9`
- `0x10000000 / 0x00009000 -> 1`
## Off-Row Carrier Maps ## Off-Row Carrier Maps
@ -39,6 +44,17 @@ The earlier `10/18` family is narrow and fully enumerated in the checked export:
Everything else in the current probe-bearing corpus keeps the `35/43` `Port00` / `Warehouse00` Everything else in the current probe-bearing corpus keeps the `35/43` `Port00` / `Warehouse00`
pair while still preserving the fixed numbered runs at `45..55` and `56..66`. pair while still preserving the fixed numbered runs at `45..55` and `56..66`.
## Header Clusters
The checked header-cluster export keeps the root scan bounded too:
- only `3` stable header families exist across the `37` probe-bearing maps
- the dominant family is `0x00000000 / 0x00000000` on `27` maps
- the secondary family is `0xcdcdcdcd / 0xcdcdcdcd` on `9` maps
- `Alternate USA.gmp` is the lone `0x10000000 / 0x00009000` outlier
So the candidate-table header side is no longer an unbounded per-map surface either.
## Crossover Reading ## Crossover Reading
The new crossover field keeps the row-family and trailer-family interaction explicit too: The new crossover field keeps the row-family and trailer-family interaction explicit too: