Ground named cargo price event descriptors
This commit is contained in:
parent
6b8f849731
commit
09ccc77a45
13 changed files with 1281 additions and 598 deletions
22
README.md
22
README.md
|
|
@ -61,20 +61,18 @@ descriptors now have bounded
|
||||||
runtime landing surfaces too: descriptor `105` `All Cargo Prices` plus descriptors `177..179`
|
runtime landing surfaces too: descriptor `105` `All Cargo Prices` plus descriptors `177..179`
|
||||||
`All Cargo Production` / `All Factory Production` / `All Farm/Mine Production` import into
|
`All Cargo Production` / `All Factory Production` / `All Farm/Mine Production` import into
|
||||||
event-owned cargo override state, and the grounded named cargo-production strip `180..229` now
|
event-owned cargo override state, and the grounded named cargo-production strip `180..229` now
|
||||||
imports into named cargo production overrides too. The named cargo-price strip `106..176`
|
imports into named cargo production overrides too, and the named cargo-price strip `106..176` now
|
||||||
remains explicit `blocked_evidence_blocked_descriptor` parity until descriptor ordering is pinned
|
imports into named cargo price overrides as well. The checked-in static selector reconstruction is
|
||||||
more strongly, but the semantic catalog now gives that band stable `Named Cargo Price Slot N`
|
now explicit: the broader 1.06 CargoTypes corpus has `51` names, the Cargo106 `cargoSkin` corpus
|
||||||
labels instead of anonymous `Unknown Cargo Price` residue. The checked-in static corpora now make
|
has `70`, and the rehosted offline selector builder now closes the `71`-row named price strip as
|
||||||
that boundary more explicit too: the broader 1.06 CargoTypes corpus has `51` names and the 1.05
|
`cargoSkin` plus the core `Rock` carry-over. The checked-in
|
||||||
corpus has `41`, so neither static set closes the `71`-row named price strip on its own. A new
|
|
||||||
offline cargo-source inspector now pushes that groundwork further in rehosted code: the checked-in
|
|
||||||
`artifacts/exports/rt3-1.06/economy-cargo-sources.json` report parses both `CargoTypes` and the
|
`artifacts/exports/rt3-1.06/economy-cargo-sources.json` report parses both `CargoTypes` and the
|
||||||
`Cargo106.PK4` `cargoSkin` descriptors, normalizes localized `~####Name` tokens into visible
|
`Cargo106.PK4` `cargoSkin` descriptors, normalizes localized `~####Name` tokens into visible
|
||||||
names, builds a merged live cargo registry, and derives an exact named cargo-production selector
|
names, builds a merged live cargo registry, and now derives exact named cargo-production and named
|
||||||
from the checked-in bindings. Dedicated CLI inspector commands now expose that production selector
|
cargo-price selectors from the checked-in bindings. Dedicated CLI inspector commands now expose
|
||||||
and the unresolved price-selector candidate registry directly. The same report still shows that the
|
both grounded selectors directly, while the same report still makes the residual live-registry gap
|
||||||
current 1.06 visible-name union is `80`, not `71`, so source recovery alone still does not prove
|
explicit by showing the nine excluded CargoTypes-only industrial names outside the 71-row price
|
||||||
the live price-selector ordering. The
|
strip. The
|
||||||
add-building strip `503..519` is now explicitly classified as recovered
|
add-building strip `503..519` is now explicitly classified as recovered
|
||||||
shell-owned descriptor parity rather than generic unresolved residue. The first grounded
|
shell-owned descriptor parity rather than generic unresolved residue. The first grounded
|
||||||
condition-side unlock now exists for negative-sentinel `raw_condition_id = -1` company scopes, and
|
condition-side unlock now exists for negative-sentinel `raw_condition_id = -1` company scopes, and
|
||||||
|
|
|
||||||
|
|
@ -974,36 +974,15 @@
|
||||||
],
|
],
|
||||||
"price_selector_candidate_excess_count": 9,
|
"price_selector_candidate_excess_count": 9,
|
||||||
"price_selector_candidate_only_visible_names": [
|
"price_selector_candidate_only_visible_names": [
|
||||||
"Beer",
|
"Ceramics",
|
||||||
"Candidates",
|
"Concrete",
|
||||||
"China",
|
"Crystals",
|
||||||
"Containers",
|
"Dye",
|
||||||
"Detergents",
|
"Electronics",
|
||||||
"Deuterium",
|
"Ingots",
|
||||||
"Energy",
|
"Machinery",
|
||||||
"Fish",
|
"Medicine",
|
||||||
"Food",
|
"Ore"
|
||||||
"Glass",
|
|
||||||
"Gravel",
|
|
||||||
"Money",
|
|
||||||
"Newspaper",
|
|
||||||
"Paint",
|
|
||||||
"Perfume",
|
|
||||||
"Potash",
|
|
||||||
"Pottery",
|
|
||||||
"Prisoners",
|
|
||||||
"Rock",
|
|
||||||
"Salt",
|
|
||||||
"Sand",
|
|
||||||
"Spaceships",
|
|
||||||
"Syrup",
|
|
||||||
"Tea",
|
|
||||||
"Tin",
|
|
||||||
"Tobacco",
|
|
||||||
"Tools",
|
|
||||||
"Valuables",
|
|
||||||
"Wine",
|
|
||||||
"Wire"
|
|
||||||
],
|
],
|
||||||
"production_selector": {
|
"production_selector": {
|
||||||
"selector_kind": "named_cargo_production",
|
"selector_kind": "named_cargo_production",
|
||||||
|
|
@ -1459,19 +1438,18 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"price_selector": {
|
"price_selector": {
|
||||||
"selector_kind": "named_cargo_price_candidate_registry",
|
"selector_kind": "named_cargo_price",
|
||||||
"exact_resolution": false,
|
"exact_resolution": true,
|
||||||
"selector_row_count": 71,
|
"selector_row_count": 71,
|
||||||
"candidate_registry_count": 80,
|
"candidate_registry_count": 80,
|
||||||
"notes": [
|
"notes": [
|
||||||
"This is the current merged visible-name registry, sorted lexicographically, not a claimed reproduction of the original price selector.",
|
"This selector is grounded from the checked-in named cargo price bindings artifact.",
|
||||||
"The merged visible-name registry has 80 entries, so the exact 71-row price-selector binding remains unresolved by static source recovery alone.",
|
"The current grounded order matches the 71-row named cargo-price descriptor strip."
|
||||||
"Current unresolved gap is 9 excess candidate names relative to the descriptor strip."
|
|
||||||
],
|
],
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"selector_index": 1,
|
"selector_index": 1,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 106,
|
||||||
"visible_name": "Alcohol",
|
"visible_name": "Alcohol",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1480,7 +1458,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 2,
|
"selector_index": 2,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 107,
|
||||||
"visible_name": "Aluminum",
|
"visible_name": "Aluminum",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1489,7 +1467,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 3,
|
"selector_index": 3,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 108,
|
||||||
"visible_name": "Ammunition",
|
"visible_name": "Ammunition",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1498,7 +1476,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 4,
|
"selector_index": 4,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 109,
|
||||||
"visible_name": "Automobiles",
|
"visible_name": "Automobiles",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1507,7 +1485,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 5,
|
"selector_index": 5,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 110,
|
||||||
"visible_name": "Bauxite",
|
"visible_name": "Bauxite",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1516,7 +1494,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 6,
|
"selector_index": 6,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 111,
|
||||||
"visible_name": "Beer",
|
"visible_name": "Beer",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
|
|
@ -1524,7 +1502,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 7,
|
"selector_index": 7,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 112,
|
||||||
"visible_name": "Candidates",
|
"visible_name": "Candidates",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
|
|
@ -1532,15 +1510,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 8,
|
"selector_index": 8,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 113,
|
||||||
"visible_name": "Ceramics",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 9,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Cheese",
|
"visible_name": "Cheese",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1548,8 +1518,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 10,
|
"selector_index": 9,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 114,
|
||||||
"visible_name": "Chemicals",
|
"visible_name": "Chemicals",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1557,16 +1527,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 11,
|
"selector_index": 10,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 115,
|
||||||
"visible_name": "China",
|
"visible_name": "China",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 12,
|
"selector_index": 11,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 116,
|
||||||
"visible_name": "Clothing",
|
"visible_name": "Clothing",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1574,8 +1544,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 13,
|
"selector_index": 12,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 117,
|
||||||
"visible_name": "Coal",
|
"visible_name": "Coal",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1583,8 +1553,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 14,
|
"selector_index": 13,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 118,
|
||||||
"visible_name": "Coffee",
|
"visible_name": "Coffee",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1592,24 +1562,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 15,
|
"selector_index": 14,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 119,
|
||||||
"visible_name": "Concrete",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 16,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Containers",
|
"visible_name": "Containers",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 17,
|
"selector_index": 15,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 120,
|
||||||
"visible_name": "Corn",
|
"visible_name": "Corn",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1617,8 +1579,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 18,
|
"selector_index": 16,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 121,
|
||||||
"visible_name": "Cotton",
|
"visible_name": "Cotton",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1626,32 +1588,24 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 19,
|
"selector_index": 17,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 122,
|
||||||
"visible_name": "Crystals",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 20,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Detergents",
|
"visible_name": "Detergents",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 21,
|
"selector_index": 18,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 123,
|
||||||
"visible_name": "Deuterium",
|
"visible_name": "Deuterium",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 22,
|
"selector_index": 19,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 124,
|
||||||
"visible_name": "Diesel",
|
"visible_name": "Diesel",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1659,32 +1613,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 23,
|
"selector_index": 20,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 125,
|
||||||
"visible_name": "Dye",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 24,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Electronics",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 25,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Energy",
|
"visible_name": "Energy",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 26,
|
"selector_index": 21,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 126,
|
||||||
"visible_name": "Fertilizer",
|
"visible_name": "Fertilizer",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1692,24 +1630,24 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 27,
|
"selector_index": 22,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 127,
|
||||||
"visible_name": "Fish",
|
"visible_name": "Fish",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 28,
|
"selector_index": 23,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 128,
|
||||||
"visible_name": "Food",
|
"visible_name": "Food",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 29,
|
"selector_index": 24,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 129,
|
||||||
"visible_name": "Furniture",
|
"visible_name": "Furniture",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1717,16 +1655,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 30,
|
"selector_index": 25,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 130,
|
||||||
"visible_name": "Glass",
|
"visible_name": "Glass",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 31,
|
"selector_index": 26,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 131,
|
||||||
"visible_name": "Goods",
|
"visible_name": "Goods",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1734,8 +1672,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 32,
|
"selector_index": 27,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 132,
|
||||||
"visible_name": "Grain",
|
"visible_name": "Grain",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1743,24 +1681,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 33,
|
"selector_index": 28,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 133,
|
||||||
"visible_name": "Gravel",
|
"visible_name": "Gravel",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 34,
|
"selector_index": 29,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 134,
|
||||||
"visible_name": "Ingots",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 35,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Iron",
|
"visible_name": "Iron",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1768,8 +1698,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 36,
|
"selector_index": 30,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 135,
|
||||||
"visible_name": "Livestock",
|
"visible_name": "Livestock",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1777,8 +1707,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 37,
|
"selector_index": 31,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 136,
|
||||||
"visible_name": "Logs",
|
"visible_name": "Logs",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1786,8 +1716,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 38,
|
"selector_index": 32,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 137,
|
||||||
"visible_name": "Lumber",
|
"visible_name": "Lumber",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1795,16 +1725,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 39,
|
"selector_index": 33,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 138,
|
||||||
"visible_name": "Machinery",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 40,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Mail",
|
"visible_name": "Mail",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1812,8 +1734,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 41,
|
"selector_index": 34,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 139,
|
||||||
"visible_name": "Meat",
|
"visible_name": "Meat",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1821,16 +1743,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 42,
|
"selector_index": 35,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 140,
|
||||||
"visible_name": "Medicine",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 43,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Milk",
|
"visible_name": "Milk",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1838,24 +1752,24 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 44,
|
"selector_index": 36,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 141,
|
||||||
"visible_name": "Money",
|
"visible_name": "Money",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 45,
|
"selector_index": 37,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 142,
|
||||||
"visible_name": "Newspaper",
|
"visible_name": "Newspaper",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 46,
|
"selector_index": 38,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 143,
|
||||||
"visible_name": "Oil",
|
"visible_name": "Oil",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1863,24 +1777,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 47,
|
"selector_index": 39,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 144,
|
||||||
"visible_name": "Ore",
|
|
||||||
"source_kinds": [
|
|
||||||
"cargo_types"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector_index": 48,
|
|
||||||
"descriptor_id": null,
|
|
||||||
"visible_name": "Paint",
|
"visible_name": "Paint",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 49,
|
"selector_index": 40,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 145,
|
||||||
"visible_name": "Paper",
|
"visible_name": "Paper",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1888,8 +1794,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 50,
|
"selector_index": 41,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 146,
|
||||||
"visible_name": "Passengers",
|
"visible_name": "Passengers",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1897,16 +1803,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 51,
|
"selector_index": 42,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 147,
|
||||||
"visible_name": "Perfume",
|
"visible_name": "Perfume",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 52,
|
"selector_index": 43,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 148,
|
||||||
"visible_name": "Plastic",
|
"visible_name": "Plastic",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1914,32 +1820,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 53,
|
"selector_index": 44,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 149,
|
||||||
"visible_name": "Potash",
|
"visible_name": "Potash",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 54,
|
"selector_index": 45,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 150,
|
||||||
"visible_name": "Pottery",
|
"visible_name": "Pottery",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 55,
|
"selector_index": 46,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 151,
|
||||||
"visible_name": "Prisoners",
|
"visible_name": "Prisoners",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 56,
|
"selector_index": 47,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 152,
|
||||||
"visible_name": "Produce",
|
"visible_name": "Produce",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1947,8 +1853,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 57,
|
"selector_index": 48,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 153,
|
||||||
"visible_name": "Pulpwood",
|
"visible_name": "Pulpwood",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1956,8 +1862,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 58,
|
"selector_index": 49,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 154,
|
||||||
"visible_name": "Rice",
|
"visible_name": "Rice",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1965,16 +1871,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 59,
|
"selector_index": 50,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 155,
|
||||||
"visible_name": "Rock",
|
"visible_name": "Rock",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types"
|
"cargo_types"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 60,
|
"selector_index": 51,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 156,
|
||||||
"visible_name": "Rubber",
|
"visible_name": "Rubber",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -1982,32 +1888,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 61,
|
"selector_index": 52,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 157,
|
||||||
"visible_name": "Salt",
|
"visible_name": "Salt",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 62,
|
"selector_index": 53,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 158,
|
||||||
"visible_name": "Sand",
|
"visible_name": "Sand",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 63,
|
"selector_index": 54,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 159,
|
||||||
"visible_name": "Spaceships",
|
"visible_name": "Spaceships",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 64,
|
"selector_index": 55,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 160,
|
||||||
"visible_name": "Steel",
|
"visible_name": "Steel",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2015,8 +1921,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 65,
|
"selector_index": 56,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 161,
|
||||||
"visible_name": "Sugar",
|
"visible_name": "Sugar",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2024,32 +1930,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 66,
|
"selector_index": 57,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 162,
|
||||||
"visible_name": "Syrup",
|
"visible_name": "Syrup",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 67,
|
"selector_index": 58,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 163,
|
||||||
"visible_name": "Tea",
|
"visible_name": "Tea",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 68,
|
"selector_index": 59,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 164,
|
||||||
"visible_name": "Tin",
|
"visible_name": "Tin",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 69,
|
"selector_index": 60,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 165,
|
||||||
"visible_name": "Tires",
|
"visible_name": "Tires",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2057,24 +1963,24 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 70,
|
"selector_index": 61,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 166,
|
||||||
"visible_name": "Tobacco",
|
"visible_name": "Tobacco",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 71,
|
"selector_index": 62,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 167,
|
||||||
"visible_name": "Tools",
|
"visible_name": "Tools",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 72,
|
"selector_index": 63,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 168,
|
||||||
"visible_name": "Toys",
|
"visible_name": "Toys",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2082,8 +1988,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 73,
|
"selector_index": 64,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 169,
|
||||||
"visible_name": "Troops",
|
"visible_name": "Troops",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2091,8 +1997,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 74,
|
"selector_index": 65,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 170,
|
||||||
"visible_name": "Uranium",
|
"visible_name": "Uranium",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2100,16 +2006,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 75,
|
"selector_index": 66,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 171,
|
||||||
"visible_name": "Valuables",
|
"visible_name": "Valuables",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 76,
|
"selector_index": 67,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 172,
|
||||||
"visible_name": "Waste",
|
"visible_name": "Waste",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2117,8 +2023,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 77,
|
"selector_index": 68,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 173,
|
||||||
"visible_name": "Weapons",
|
"visible_name": "Weapons",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2126,24 +2032,24 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 78,
|
"selector_index": 69,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 174,
|
||||||
"visible_name": "Wine",
|
"visible_name": "Wine",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 79,
|
"selector_index": 70,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 175,
|
||||||
"visible_name": "Wire",
|
"visible_name": "Wire",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_skin"
|
"cargo_skin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"selector_index": 80,
|
"selector_index": 71,
|
||||||
"descriptor_id": null,
|
"descriptor_id": 176,
|
||||||
"visible_name": "Wool",
|
"visible_name": "Wool",
|
||||||
"source_kinds": [
|
"source_kinds": [
|
||||||
"cargo_types",
|
"cargo_types",
|
||||||
|
|
@ -2155,7 +2061,7 @@
|
||||||
"notes": [
|
"notes": [
|
||||||
"Named cargo-price descriptors 106..176 span 71 rows, while named cargo-production descriptors 180..229 span 50 rows.",
|
"Named cargo-price descriptors 106..176 span 71 rows, while named cargo-production descriptors 180..229 span 50 rows.",
|
||||||
"The inspected CargoTypes corpus exposes 51 visible names, the inspected cargoSkin corpus exposes 70 visible names, and their union exposes 80 visible names.",
|
"The inspected CargoTypes corpus exposes 51 visible names, the inspected cargoSkin corpus exposes 70 visible names, and their union exposes 80 visible names.",
|
||||||
"That visible-name union still does not match the 71-row named cargo-price strip, so this offline source reconstruction is groundwork rather than a complete price-selector binding."
|
"The checked-in bindings now close the 71-row named cargo-price strip on top of the merged live cargo registry."
|
||||||
],
|
],
|
||||||
"cargo_type_entries": [
|
"cargo_type_entries": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,508 @@
|
||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
"Named cargo production bindings are grounded from the checked-in 1.06 CargoTypes corpus and the candidate-loader evidence that live cargo names are materialized in lexicographic order.",
|
"Named cargo production bindings are grounded from the checked-in 1.06 CargoTypes corpus and the candidate-loader evidence that live cargo names are materialized in lexicographic order.",
|
||||||
"The checked-in static CargoTypes corpora do not close the named cargo price strip by themselves: the broader rt3 corpus has 51 names, the rt3_105 corpus has 41 names, and neither matches the 71-row named price band.",
|
"Named cargo price bindings are grounded from the rehosted static selector reconstruction: the 70-name Cargo106 cargoSkin corpus plus the core CargoTypes-only Rock entry close the 71-row price strip exactly.",
|
||||||
"The named production strip has 50 rows, so the checked-in binding covers the 50-name lexicographic corpus used by the grounded 1.06 runtime baseline and leaves the named cargo price strip unresolved.",
|
"The named production strip has 50 rows, so the checked-in binding still covers the 50-name lexicographic corpus used by the grounded 1.06 runtime baseline.",
|
||||||
"Rock remains outside the grounded 50-row production strip in this batch."
|
"The named price selector excludes the remaining CargoTypes-only industrial rows Ceramics, Concrete, Crystals, Dye, Electronics, Ingots, Machinery, Medicine, and Ore."
|
||||||
],
|
],
|
||||||
"bindings": [
|
"bindings": [
|
||||||
|
{
|
||||||
|
"descriptor_id": 106,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Alcohol",
|
||||||
|
"binding_index": 1,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 107,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Aluminum",
|
||||||
|
"binding_index": 2,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 108,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Ammunition",
|
||||||
|
"binding_index": 3,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 109,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Automobiles",
|
||||||
|
"binding_index": 4,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 110,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Bauxite",
|
||||||
|
"binding_index": 5,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 111,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Beer",
|
||||||
|
"binding_index": 6,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 112,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Candidates",
|
||||||
|
"binding_index": 7,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 113,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Cheese",
|
||||||
|
"binding_index": 8,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 114,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Chemicals",
|
||||||
|
"binding_index": 9,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 115,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "China",
|
||||||
|
"binding_index": 10,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 116,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Clothing",
|
||||||
|
"binding_index": 11,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 117,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Coal",
|
||||||
|
"binding_index": 12,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 118,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Coffee",
|
||||||
|
"binding_index": 13,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 119,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Containers",
|
||||||
|
"binding_index": 14,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 120,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Corn",
|
||||||
|
"binding_index": 15,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 121,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Cotton",
|
||||||
|
"binding_index": 16,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 122,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Detergents",
|
||||||
|
"binding_index": 17,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 123,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Deuterium",
|
||||||
|
"binding_index": 18,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 124,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Diesel",
|
||||||
|
"binding_index": 19,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 125,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Energy",
|
||||||
|
"binding_index": 20,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 126,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Fertilizer",
|
||||||
|
"binding_index": 21,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 127,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Fish",
|
||||||
|
"binding_index": 22,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 128,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Food",
|
||||||
|
"binding_index": 23,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 129,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Furniture",
|
||||||
|
"binding_index": 24,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 130,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Glass",
|
||||||
|
"binding_index": 25,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 131,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Goods",
|
||||||
|
"binding_index": 26,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 132,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Grain",
|
||||||
|
"binding_index": 27,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 133,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Gravel",
|
||||||
|
"binding_index": 28,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 134,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Iron",
|
||||||
|
"binding_index": 29,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 135,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Livestock",
|
||||||
|
"binding_index": 30,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 136,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Logs",
|
||||||
|
"binding_index": 31,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 137,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Lumber",
|
||||||
|
"binding_index": 32,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 138,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Mail",
|
||||||
|
"binding_index": 33,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 139,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Meat",
|
||||||
|
"binding_index": 34,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 140,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Milk",
|
||||||
|
"binding_index": 35,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 141,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Money",
|
||||||
|
"binding_index": 36,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 142,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Newspaper",
|
||||||
|
"binding_index": 37,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 143,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Oil",
|
||||||
|
"binding_index": 38,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 144,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Paint",
|
||||||
|
"binding_index": 39,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 145,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Paper",
|
||||||
|
"binding_index": 40,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 146,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Passengers",
|
||||||
|
"binding_index": 41,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 147,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Perfume",
|
||||||
|
"binding_index": 42,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 148,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Plastic",
|
||||||
|
"binding_index": 43,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 149,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Potash",
|
||||||
|
"binding_index": 44,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 150,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Pottery",
|
||||||
|
"binding_index": 45,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 151,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Prisoners",
|
||||||
|
"binding_index": 46,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 152,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Produce",
|
||||||
|
"binding_index": 47,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 153,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Pulpwood",
|
||||||
|
"binding_index": 48,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 154,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Rice",
|
||||||
|
"binding_index": 49,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 155,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Rock",
|
||||||
|
"binding_index": 50,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 156,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Rubber",
|
||||||
|
"binding_index": 51,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 157,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Salt",
|
||||||
|
"binding_index": 52,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 158,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Sand",
|
||||||
|
"binding_index": 53,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 159,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Spaceships",
|
||||||
|
"binding_index": 54,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 160,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Steel",
|
||||||
|
"binding_index": 55,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 161,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Sugar",
|
||||||
|
"binding_index": 56,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 162,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Syrup",
|
||||||
|
"binding_index": 57,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 163,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Tea",
|
||||||
|
"binding_index": 58,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 164,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Tin",
|
||||||
|
"binding_index": 59,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 165,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Tires",
|
||||||
|
"binding_index": 60,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 166,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Tobacco",
|
||||||
|
"binding_index": 61,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 167,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Tools",
|
||||||
|
"binding_index": 62,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 168,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Toys",
|
||||||
|
"binding_index": 63,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 169,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Troops",
|
||||||
|
"binding_index": 64,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 170,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Uranium",
|
||||||
|
"binding_index": 65,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 171,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Valuables",
|
||||||
|
"binding_index": 66,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 172,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Waste",
|
||||||
|
"binding_index": 67,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 173,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Weapons",
|
||||||
|
"binding_index": 68,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 174,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Wine",
|
||||||
|
"binding_index": 69,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 175,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Wire",
|
||||||
|
"binding_index": 70,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"descriptor_id": 176,
|
||||||
|
"band": "cargo_price_named",
|
||||||
|
"cargo_name": "Wool",
|
||||||
|
"binding_index": 71,
|
||||||
|
"binding_source": "static_selector_rehost"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 180,
|
"descriptor_id": 180,
|
||||||
"band": "cargo_production_named",
|
"band": "cargo_production_named",
|
||||||
|
|
|
||||||
|
|
@ -959,642 +959,642 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 106,
|
"descriptor_id": 106,
|
||||||
"label": "Named Cargo Price Slot 1",
|
"label": "Alcohol Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 107,
|
"descriptor_id": 107,
|
||||||
"label": "Named Cargo Price Slot 2",
|
"label": "Aluminum Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 108,
|
"descriptor_id": 108,
|
||||||
"label": "Named Cargo Price Slot 3",
|
"label": "Ammunition Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 109,
|
"descriptor_id": 109,
|
||||||
"label": "Named Cargo Price Slot 4",
|
"label": "Automobiles Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 110,
|
"descriptor_id": 110,
|
||||||
"label": "Named Cargo Price Slot 5",
|
"label": "Bauxite Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 111,
|
"descriptor_id": 111,
|
||||||
"label": "Named Cargo Price Slot 6",
|
"label": "Beer Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 112,
|
"descriptor_id": 112,
|
||||||
"label": "Named Cargo Price Slot 7",
|
"label": "Candidates Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 113,
|
"descriptor_id": 113,
|
||||||
"label": "Named Cargo Price Slot 8",
|
"label": "Cheese Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 114,
|
"descriptor_id": 114,
|
||||||
"label": "Named Cargo Price Slot 9",
|
"label": "Chemicals Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 115,
|
"descriptor_id": 115,
|
||||||
"label": "Named Cargo Price Slot 10",
|
"label": "China Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 116,
|
"descriptor_id": 116,
|
||||||
"label": "Named Cargo Price Slot 11",
|
"label": "Clothing Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 117,
|
"descriptor_id": 117,
|
||||||
"label": "Named Cargo Price Slot 12",
|
"label": "Coal Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 118,
|
"descriptor_id": 118,
|
||||||
"label": "Named Cargo Price Slot 13",
|
"label": "Coffee Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 119,
|
"descriptor_id": 119,
|
||||||
"label": "Named Cargo Price Slot 14",
|
"label": "Containers Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 120,
|
"descriptor_id": 120,
|
||||||
"label": "Named Cargo Price Slot 15",
|
"label": "Corn Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 121,
|
"descriptor_id": 121,
|
||||||
"label": "Named Cargo Price Slot 16",
|
"label": "Cotton Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 122,
|
"descriptor_id": 122,
|
||||||
"label": "Named Cargo Price Slot 17",
|
"label": "Detergents Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 123,
|
"descriptor_id": 123,
|
||||||
"label": "Named Cargo Price Slot 18",
|
"label": "Deuterium Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 124,
|
"descriptor_id": 124,
|
||||||
"label": "Named Cargo Price Slot 19",
|
"label": "Diesel Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 125,
|
"descriptor_id": 125,
|
||||||
"label": "Named Cargo Price Slot 20",
|
"label": "Energy Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 126,
|
"descriptor_id": 126,
|
||||||
"label": "Named Cargo Price Slot 21",
|
"label": "Fertilizer Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 127,
|
"descriptor_id": 127,
|
||||||
"label": "Named Cargo Price Slot 22",
|
"label": "Fish Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 128,
|
"descriptor_id": 128,
|
||||||
"label": "Named Cargo Price Slot 23",
|
"label": "Food Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 129,
|
"descriptor_id": 129,
|
||||||
"label": "Named Cargo Price Slot 24",
|
"label": "Furniture Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 130,
|
"descriptor_id": 130,
|
||||||
"label": "Named Cargo Price Slot 25",
|
"label": "Glass Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 131,
|
"descriptor_id": 131,
|
||||||
"label": "Named Cargo Price Slot 26",
|
"label": "Goods Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 132,
|
"descriptor_id": 132,
|
||||||
"label": "Named Cargo Price Slot 27",
|
"label": "Grain Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 133,
|
"descriptor_id": 133,
|
||||||
"label": "Named Cargo Price Slot 28",
|
"label": "Gravel Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 134,
|
"descriptor_id": 134,
|
||||||
"label": "Named Cargo Price Slot 29",
|
"label": "Iron Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 135,
|
"descriptor_id": 135,
|
||||||
"label": "Named Cargo Price Slot 30",
|
"label": "Livestock Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 136,
|
"descriptor_id": 136,
|
||||||
"label": "Named Cargo Price Slot 31",
|
"label": "Logs Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 137,
|
"descriptor_id": 137,
|
||||||
"label": "Named Cargo Price Slot 32",
|
"label": "Lumber Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 138,
|
"descriptor_id": 138,
|
||||||
"label": "Named Cargo Price Slot 33",
|
"label": "Mail Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 139,
|
"descriptor_id": 139,
|
||||||
"label": "Named Cargo Price Slot 34",
|
"label": "Meat Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 140,
|
"descriptor_id": 140,
|
||||||
"label": "Named Cargo Price Slot 35",
|
"label": "Milk Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 141,
|
"descriptor_id": 141,
|
||||||
"label": "Named Cargo Price Slot 36",
|
"label": "Money Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 142,
|
"descriptor_id": 142,
|
||||||
"label": "Named Cargo Price Slot 37",
|
"label": "Newspaper Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 143,
|
"descriptor_id": 143,
|
||||||
"label": "Named Cargo Price Slot 38",
|
"label": "Oil Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 144,
|
"descriptor_id": 144,
|
||||||
"label": "Named Cargo Price Slot 39",
|
"label": "Paint Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 145,
|
"descriptor_id": 145,
|
||||||
"label": "Named Cargo Price Slot 40",
|
"label": "Paper Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 146,
|
"descriptor_id": 146,
|
||||||
"label": "Named Cargo Price Slot 41",
|
"label": "Passengers Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 147,
|
"descriptor_id": 147,
|
||||||
"label": "Named Cargo Price Slot 42",
|
"label": "Perfume Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 148,
|
"descriptor_id": 148,
|
||||||
"label": "Named Cargo Price Slot 43",
|
"label": "Plastic Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 149,
|
"descriptor_id": 149,
|
||||||
"label": "Named Cargo Price Slot 44",
|
"label": "Potash Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 150,
|
"descriptor_id": 150,
|
||||||
"label": "Named Cargo Price Slot 45",
|
"label": "Pottery Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 151,
|
"descriptor_id": 151,
|
||||||
"label": "Named Cargo Price Slot 46",
|
"label": "Prisoners Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 152,
|
"descriptor_id": 152,
|
||||||
"label": "Named Cargo Price Slot 47",
|
"label": "Produce Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 153,
|
"descriptor_id": 153,
|
||||||
"label": "Named Cargo Price Slot 48",
|
"label": "Pulpwood Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 154,
|
"descriptor_id": 154,
|
||||||
"label": "Named Cargo Price Slot 49",
|
"label": "Rice Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 155,
|
"descriptor_id": 155,
|
||||||
"label": "Named Cargo Price Slot 50",
|
"label": "Rock Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 156,
|
"descriptor_id": 156,
|
||||||
"label": "Named Cargo Price Slot 51",
|
"label": "Rubber Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 157,
|
"descriptor_id": 157,
|
||||||
"label": "Named Cargo Price Slot 52",
|
"label": "Salt Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 158,
|
"descriptor_id": 158,
|
||||||
"label": "Named Cargo Price Slot 53",
|
"label": "Sand Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 159,
|
"descriptor_id": 159,
|
||||||
"label": "Named Cargo Price Slot 54",
|
"label": "Spaceships Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 160,
|
"descriptor_id": 160,
|
||||||
"label": "Named Cargo Price Slot 55",
|
"label": "Steel Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 161,
|
"descriptor_id": 161,
|
||||||
"label": "Named Cargo Price Slot 56",
|
"label": "Sugar Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 162,
|
"descriptor_id": 162,
|
||||||
"label": "Named Cargo Price Slot 57",
|
"label": "Syrup Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 163,
|
"descriptor_id": 163,
|
||||||
"label": "Named Cargo Price Slot 58",
|
"label": "Tea Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 164,
|
"descriptor_id": 164,
|
||||||
"label": "Named Cargo Price Slot 59",
|
"label": "Tin Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 165,
|
"descriptor_id": 165,
|
||||||
"label": "Named Cargo Price Slot 60",
|
"label": "Tires Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 166,
|
"descriptor_id": 166,
|
||||||
"label": "Named Cargo Price Slot 61",
|
"label": "Tobacco Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 167,
|
"descriptor_id": 167,
|
||||||
"label": "Named Cargo Price Slot 62",
|
"label": "Tools Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 168,
|
"descriptor_id": 168,
|
||||||
"label": "Named Cargo Price Slot 63",
|
"label": "Toys Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 169,
|
"descriptor_id": 169,
|
||||||
"label": "Named Cargo Price Slot 64",
|
"label": "Troops Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 170,
|
"descriptor_id": 170,
|
||||||
"label": "Named Cargo Price Slot 65",
|
"label": "Uranium Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 171,
|
"descriptor_id": 171,
|
||||||
"label": "Named Cargo Price Slot 66",
|
"label": "Valuables Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 172,
|
"descriptor_id": 172,
|
||||||
"label": "Named Cargo Price Slot 67",
|
"label": "Waste Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 173,
|
"descriptor_id": 173,
|
||||||
"label": "Named Cargo Price Slot 68",
|
"label": "Weapons Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 174,
|
"descriptor_id": 174,
|
||||||
"label": "Named Cargo Price Slot 69",
|
"label": "Wine Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 175,
|
"descriptor_id": 175,
|
||||||
"label": "Named Cargo Price Slot 70",
|
"label": "Wire Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 176,
|
"descriptor_id": 176,
|
||||||
"label": "Named Cargo Price Slot 71",
|
"label": "Wool Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"runtime_key": null,
|
"runtime_key": null,
|
||||||
"runtime_status": "evidence_blocked",
|
"runtime_status": "executable",
|
||||||
"executable_in_runtime": false
|
"executable_in_runtime": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"descriptor_id": 177,
|
"descriptor_id": 177,
|
||||||
|
|
|
||||||
|
|
@ -271,24 +271,42 @@ fn build_cargo_economy_source_report(
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
let live_registry_entries =
|
let live_registry_entries =
|
||||||
build_live_registry_entries(&cargo_types.entries, &cargo_skins.entries);
|
build_live_registry_entries(&cargo_types.entries, &cargo_skins.entries);
|
||||||
let production_selector =
|
let production_selector = cargo_bindings.and_then(|bindings| {
|
||||||
cargo_bindings.map(|bindings| build_production_selector(bindings, &live_registry_entries));
|
build_selector_from_bindings(
|
||||||
let price_selector_candidate_only_visible_names = production_selector
|
bindings,
|
||||||
.as_ref()
|
&live_registry_entries,
|
||||||
.map(|selector| {
|
"cargo_production_named",
|
||||||
let selector_names = selector
|
"named_cargo_production",
|
||||||
.entries
|
NAMED_CARGO_PRODUCTION_DESCRIPTOR_ROW_COUNT,
|
||||||
.iter()
|
"This selector is grounded from the checked-in named cargo production bindings artifact.",
|
||||||
.map(|entry| entry.visible_name.as_str())
|
"The current grounded order matches the 50-row named cargo-production descriptor strip.",
|
||||||
.collect::<BTreeSet<_>>();
|
)
|
||||||
live_registry_entries
|
});
|
||||||
.iter()
|
let price_selector = cargo_bindings
|
||||||
.filter(|entry| !selector_names.contains(entry.visible_name.as_str()))
|
.and_then(|bindings| {
|
||||||
.map(|entry| entry.visible_name.clone())
|
build_selector_from_bindings(
|
||||||
.collect::<Vec<_>>()
|
bindings,
|
||||||
|
&live_registry_entries,
|
||||||
|
"cargo_price_named",
|
||||||
|
"named_cargo_price",
|
||||||
|
NAMED_CARGO_PRICE_DESCRIPTOR_ROW_COUNT,
|
||||||
|
"This selector is grounded from the checked-in named cargo price bindings artifact.",
|
||||||
|
"The current grounded order matches the 71-row named cargo-price descriptor strip.",
|
||||||
|
)
|
||||||
})
|
})
|
||||||
.unwrap_or_default();
|
.unwrap_or_else(|| build_price_selector_candidate_registry(&live_registry_entries));
|
||||||
let price_selector = build_price_selector(&live_registry_entries);
|
let price_selector_candidate_only_visible_names = price_selector
|
||||||
|
.entries
|
||||||
|
.iter()
|
||||||
|
.map(|entry| entry.visible_name.as_str())
|
||||||
|
.collect::<BTreeSet<_>>();
|
||||||
|
let price_selector_candidate_only_visible_names = live_registry_entries
|
||||||
|
.iter()
|
||||||
|
.filter(|entry| {
|
||||||
|
!price_selector_candidate_only_visible_names.contains(entry.visible_name.as_str())
|
||||||
|
})
|
||||||
|
.map(|entry| entry.visible_name.clone())
|
||||||
|
.collect::<Vec<_>>();
|
||||||
let price_selector_candidate_excess_count = live_registry_entries
|
let price_selector_candidate_excess_count = live_registry_entries
|
||||||
.len()
|
.len()
|
||||||
.saturating_sub(NAMED_CARGO_PRICE_DESCRIPTOR_ROW_COUNT);
|
.saturating_sub(NAMED_CARGO_PRICE_DESCRIPTOR_ROW_COUNT);
|
||||||
|
|
@ -302,14 +320,14 @@ fn build_cargo_economy_source_report(
|
||||||
"The inspected CargoTypes corpus exposes {} visible names, the inspected cargoSkin corpus exposes {} visible names, and their union exposes {} visible names.",
|
"The inspected CargoTypes corpus exposes {} visible names, the inspected cargoSkin corpus exposes {} visible names, and their union exposes {} visible names.",
|
||||||
cargo_types.unique_visible_name_count, cargo_skins.unique_visible_name_count, visible_name_union_count
|
cargo_types.unique_visible_name_count, cargo_skins.unique_visible_name_count, visible_name_union_count
|
||||||
));
|
));
|
||||||
if visible_name_union_count != NAMED_CARGO_PRICE_DESCRIPTOR_ROW_COUNT {
|
if !price_selector.exact_resolution {
|
||||||
notes.push(
|
notes.push(
|
||||||
"That visible-name union still does not match the 71-row named cargo-price strip, so this offline source reconstruction is groundwork rather than a complete price-selector binding."
|
"That visible-name union still does not match the 71-row named cargo-price strip, so this offline source reconstruction is groundwork rather than a complete price-selector binding."
|
||||||
.to_string(),
|
.to_string(),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
notes.push(
|
notes.push(
|
||||||
"The visible-name union matches the 71-row named cargo-price strip; a later pass can decide whether ordering evidence is now strong enough for descriptor bindings."
|
"The checked-in bindings now close the 71-row named cargo-price strip on top of the merged live cargo registry."
|
||||||
.to_string(),
|
.to_string(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -416,15 +434,23 @@ fn build_live_registry_entries(
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_production_selector(
|
fn build_selector_from_bindings(
|
||||||
bindings: &[CargoBindingRow],
|
bindings: &[CargoBindingRow],
|
||||||
live_registry_entries: &[CargoLiveRegistryEntry],
|
live_registry_entries: &[CargoLiveRegistryEntry],
|
||||||
) -> CargoSelectorReport {
|
band: &str,
|
||||||
|
selector_kind: &str,
|
||||||
|
selector_row_count: usize,
|
||||||
|
grounding_note: &str,
|
||||||
|
order_note: &str,
|
||||||
|
) -> Option<CargoSelectorReport> {
|
||||||
let mut rows = bindings
|
let mut rows = bindings
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|binding| binding.band == "cargo_production_named")
|
.filter(|binding| binding.band == band)
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
rows.sort_by_key(|binding| binding.binding_index);
|
rows.sort_by_key(|binding| binding.binding_index);
|
||||||
|
if rows.is_empty() {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
let entries = rows
|
let entries = rows
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|
@ -440,22 +466,19 @@ fn build_production_selector(
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
CargoSelectorReport {
|
Some(CargoSelectorReport {
|
||||||
selector_kind: "named_cargo_production".to_string(),
|
selector_kind: selector_kind.to_string(),
|
||||||
exact_resolution: entries.len() == NAMED_CARGO_PRODUCTION_DESCRIPTOR_ROW_COUNT,
|
exact_resolution: entries.len() == selector_row_count,
|
||||||
selector_row_count: NAMED_CARGO_PRODUCTION_DESCRIPTOR_ROW_COUNT,
|
selector_row_count,
|
||||||
candidate_registry_count: live_registry_entries.len(),
|
candidate_registry_count: live_registry_entries.len(),
|
||||||
notes: vec![
|
notes: vec![grounding_note.to_string(), order_note.to_string()],
|
||||||
"This selector is grounded from the checked-in named cargo production bindings artifact."
|
|
||||||
.to_string(),
|
|
||||||
"The current grounded order matches the 50-row named cargo-production descriptor strip."
|
|
||||||
.to_string(),
|
|
||||||
],
|
|
||||||
entries,
|
entries,
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_price_selector(live_registry_entries: &[CargoLiveRegistryEntry]) -> CargoSelectorReport {
|
fn build_price_selector_candidate_registry(
|
||||||
|
live_registry_entries: &[CargoLiveRegistryEntry],
|
||||||
|
) -> CargoSelectorReport {
|
||||||
let entries = live_registry_entries
|
let entries = live_registry_entries
|
||||||
.iter()
|
.iter()
|
||||||
.enumerate()
|
.enumerate()
|
||||||
|
|
@ -768,4 +791,85 @@ mod tests {
|
||||||
);
|
);
|
||||||
assert_eq!(report.price_selector_candidate_excess_count, 0);
|
assert_eq!(report.price_selector_candidate_excess_count, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn builds_exact_price_selector_from_bindings() {
|
||||||
|
let cargo_types = CargoTypeInspectionReport {
|
||||||
|
directory_path: "CargoTypes".to_string(),
|
||||||
|
entry_count: 2,
|
||||||
|
unique_visible_name_count: 2,
|
||||||
|
notes: Vec::new(),
|
||||||
|
entries: vec![
|
||||||
|
CargoTypeEntry {
|
||||||
|
file_name: "Alcohol.cty".to_string(),
|
||||||
|
file_size: 16,
|
||||||
|
file_size_hex: "0x10".to_string(),
|
||||||
|
header_magic: CARGO_TYPE_MAGIC,
|
||||||
|
header_magic_hex: format!("0x{CARGO_TYPE_MAGIC:08x}"),
|
||||||
|
name: parse_cargo_name_token("Alcohol"),
|
||||||
|
},
|
||||||
|
CargoTypeEntry {
|
||||||
|
file_name: "~4513Rock.cty".to_string(),
|
||||||
|
file_size: 16,
|
||||||
|
file_size_hex: "0x10".to_string(),
|
||||||
|
header_magic: CARGO_TYPE_MAGIC,
|
||||||
|
header_magic_hex: format!("0x{CARGO_TYPE_MAGIC:08x}"),
|
||||||
|
name: parse_cargo_name_token("~4513Rock"),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
let cargo_skins = CargoSkinInspectionReport {
|
||||||
|
pk4_path: "Cargo106.PK4".to_string(),
|
||||||
|
entry_count: 2,
|
||||||
|
unique_visible_name_count: 2,
|
||||||
|
notes: Vec::new(),
|
||||||
|
entries: vec![
|
||||||
|
CargoSkinDescriptorEntry {
|
||||||
|
pk4_entry_name: "Alcohol.dsc".to_string(),
|
||||||
|
payload_len: 20,
|
||||||
|
payload_len_hex: "0x14".to_string(),
|
||||||
|
descriptor_kind: "cargoSkin".to_string(),
|
||||||
|
name: parse_cargo_name_token("Alcohol"),
|
||||||
|
},
|
||||||
|
CargoSkinDescriptorEntry {
|
||||||
|
pk4_entry_name: "~4459Beer.dsc".to_string(),
|
||||||
|
payload_len: 20,
|
||||||
|
payload_len_hex: "0x14".to_string(),
|
||||||
|
descriptor_kind: "cargoSkin".to_string(),
|
||||||
|
name: parse_cargo_name_token("~4459Beer"),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
let bindings = vec![
|
||||||
|
CargoBindingRow {
|
||||||
|
descriptor_id: 106,
|
||||||
|
band: "cargo_price_named".to_string(),
|
||||||
|
cargo_name: "Alcohol".to_string(),
|
||||||
|
binding_index: 1,
|
||||||
|
},
|
||||||
|
CargoBindingRow {
|
||||||
|
descriptor_id: 107,
|
||||||
|
band: "cargo_price_named".to_string(),
|
||||||
|
cargo_name: "Beer".to_string(),
|
||||||
|
binding_index: 2,
|
||||||
|
},
|
||||||
|
CargoBindingRow {
|
||||||
|
descriptor_id: 108,
|
||||||
|
band: "cargo_price_named".to_string(),
|
||||||
|
cargo_name: "Rock".to_string(),
|
||||||
|
binding_index: 3,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
let report = build_cargo_economy_source_report(cargo_types, cargo_skins, Some(&bindings));
|
||||||
|
assert_eq!(report.price_selector.selector_kind, "named_cargo_price");
|
||||||
|
assert!(!report.price_selector.exact_resolution);
|
||||||
|
assert_eq!(report.price_selector.entries.len(), 3);
|
||||||
|
assert_eq!(report.price_selector.entries[2].visible_name, "Rock");
|
||||||
|
assert_eq!(report.price_selector.entries[2].source_kinds.len(), 1);
|
||||||
|
assert_eq!(
|
||||||
|
report.price_selector_candidate_only_visible_names,
|
||||||
|
Vec::<String>::new()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1463,13 +1463,16 @@ fn lower_contextual_cargo_price_effect(
|
||||||
let Some(value) = u32::try_from(row.raw_scalar_value).ok() else {
|
let Some(value) = u32::try_from(row.raw_scalar_value).ok() else {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
};
|
};
|
||||||
if row.descriptor_id != 105 {
|
let target = if row.descriptor_id == 105 {
|
||||||
|
RuntimeCargoPriceTarget::All
|
||||||
|
} else if let Some(name) = row.recovered_cargo_label.as_deref() {
|
||||||
|
RuntimeCargoPriceTarget::Named {
|
||||||
|
name: name.to_string(),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
};
|
||||||
Ok(Some(RuntimeEffect::SetCargoPriceOverride {
|
Ok(Some(RuntimeEffect::SetCargoPriceOverride { target, value }))
|
||||||
target: RuntimeCargoPriceTarget::All,
|
|
||||||
value,
|
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn lower_contextual_world_scalar_override_effect(
|
fn lower_contextual_world_scalar_override_effect(
|
||||||
|
|
@ -3234,8 +3237,7 @@ fn real_grouped_row_is_unsupported_executable_descriptor_variant(
|
||||||
!(row.row_shape == "scalar_assignment" && row.raw_scalar_value >= 0)
|
!(row.row_shape == "scalar_assignment" && row.raw_scalar_value >= 0)
|
||||||
}
|
}
|
||||||
Some("cargo_price_scalar") => {
|
Some("cargo_price_scalar") => {
|
||||||
row.descriptor_id == 105
|
!(row.row_shape == "scalar_assignment" && row.raw_scalar_value >= 0)
|
||||||
&& !(row.row_shape == "scalar_assignment" && row.raw_scalar_value >= 0)
|
|
||||||
}
|
}
|
||||||
Some("cargo_production_scalar") => {
|
Some("cargo_production_scalar") => {
|
||||||
matches!(row.descriptor_id, 177 | 178 | 179 | 230..=240)
|
matches!(row.descriptor_id, 177 | 178 | 179 | 230..=240)
|
||||||
|
|
@ -4997,12 +4999,22 @@ mod tests {
|
||||||
descriptor_id: u32,
|
descriptor_id: u32,
|
||||||
value: i32,
|
value: i32,
|
||||||
) -> crate::SmpLoadedPackedEventGroupedEffectRowSummary {
|
) -> crate::SmpLoadedPackedEventGroupedEffectRowSummary {
|
||||||
let slot = descriptor_id.saturating_sub(105);
|
let cargo_label =
|
||||||
|
crate::smp::grounded_named_cargo_price_label(descriptor_id).map(ToString::to_string);
|
||||||
|
let descriptor_label = cargo_label
|
||||||
|
.as_deref()
|
||||||
|
.map(|label| format!("{label} Price"))
|
||||||
|
.unwrap_or_else(|| {
|
||||||
|
format!(
|
||||||
|
"Named Cargo Price Slot {}",
|
||||||
|
descriptor_id.saturating_sub(105)
|
||||||
|
)
|
||||||
|
});
|
||||||
crate::SmpLoadedPackedEventGroupedEffectRowSummary {
|
crate::SmpLoadedPackedEventGroupedEffectRowSummary {
|
||||||
group_index: 0,
|
group_index: 0,
|
||||||
row_index: 0,
|
row_index: 0,
|
||||||
descriptor_id,
|
descriptor_id,
|
||||||
descriptor_label: Some(format!("Named Cargo Price Slot {slot}")),
|
descriptor_label: Some(descriptor_label.clone()),
|
||||||
target_mask_bits: Some(0x08),
|
target_mask_bits: Some(0x08),
|
||||||
parameter_family: Some("cargo_price_scalar".to_string()),
|
parameter_family: Some("cargo_price_scalar".to_string()),
|
||||||
grouped_target_subject: None,
|
grouped_target_subject: None,
|
||||||
|
|
@ -5017,10 +5029,10 @@ mod tests {
|
||||||
value_word_0x16: 0,
|
value_word_0x16: 0,
|
||||||
row_shape: "scalar_assignment".to_string(),
|
row_shape: "scalar_assignment".to_string(),
|
||||||
semantic_family: Some("scalar_assignment".to_string()),
|
semantic_family: Some("scalar_assignment".to_string()),
|
||||||
semantic_preview: Some(format!("Set Named Cargo Price Slot {slot} to {value}")),
|
semantic_preview: Some(format!("Set {descriptor_label} to {value}")),
|
||||||
recovered_cargo_slot: None,
|
recovered_cargo_slot: None,
|
||||||
recovered_cargo_class: None,
|
recovered_cargo_class: None,
|
||||||
recovered_cargo_label: None,
|
recovered_cargo_label: cargo_label,
|
||||||
recovered_locomotive_id: None,
|
recovered_locomotive_id: None,
|
||||||
locomotive_name: None,
|
locomotive_name: None,
|
||||||
notes: vec![
|
notes: vec![
|
||||||
|
|
@ -8457,7 +8469,7 @@ mod tests {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn keeps_named_cargo_price_rows_evidence_blocked() {
|
fn imports_named_cargo_price_rows_when_binding_is_grounded() {
|
||||||
let save_slice = SmpLoadedSaveSlice {
|
let save_slice = SmpLoadedSaveSlice {
|
||||||
file_extension_hint: Some("gms".to_string()),
|
file_extension_hint: Some("gms".to_string()),
|
||||||
container_profile_family: Some("rt3-classic-save-container-v1".to_string()),
|
container_profile_family: Some("rt3-classic-save-container-v1".to_string()),
|
||||||
|
|
@ -8487,13 +8499,13 @@ mod tests {
|
||||||
live_record_count: 1,
|
live_record_count: 1,
|
||||||
live_entry_ids: vec![39],
|
live_entry_ids: vec![39],
|
||||||
decoded_record_count: 1,
|
decoded_record_count: 1,
|
||||||
imported_runtime_record_count: 0,
|
imported_runtime_record_count: 1,
|
||||||
records: vec![crate::SmpLoadedPackedEventRecordSummary {
|
records: vec![crate::SmpLoadedPackedEventRecordSummary {
|
||||||
record_index: 0,
|
record_index: 0,
|
||||||
live_entry_id: 39,
|
live_entry_id: 39,
|
||||||
payload_offset: Some(0x7202),
|
payload_offset: Some(0x7202),
|
||||||
payload_len: Some(96),
|
payload_len: Some(96),
|
||||||
decode_status: "parity_only".to_string(),
|
decode_status: "executable".to_string(),
|
||||||
payload_family: "real_packed_v1".to_string(),
|
payload_family: "real_packed_v1".to_string(),
|
||||||
trigger_kind: Some(7),
|
trigger_kind: Some(7),
|
||||||
active: None,
|
active: None,
|
||||||
|
|
@ -8507,30 +8519,47 @@ mod tests {
|
||||||
grouped_effect_row_counts: vec![1, 0, 0, 0],
|
grouped_effect_row_counts: vec![1, 0, 0, 0],
|
||||||
grouped_effect_rows: vec![real_named_cargo_price_row(106, 140)],
|
grouped_effect_rows: vec![real_named_cargo_price_row(106, 140)],
|
||||||
decoded_conditions: Vec::new(),
|
decoded_conditions: Vec::new(),
|
||||||
decoded_actions: vec![],
|
decoded_actions: vec![RuntimeEffect::SetCargoPriceOverride {
|
||||||
executable_import_ready: false,
|
target: RuntimeCargoPriceTarget::Named {
|
||||||
notes: vec!["named cargo price descriptors remain evidence-blocked until cargo ordering is pinned"
|
name: "Alcohol".to_string(),
|
||||||
.to_string()],
|
},
|
||||||
|
value: 140,
|
||||||
|
}],
|
||||||
|
executable_import_ready: true,
|
||||||
|
notes: vec![
|
||||||
|
"named cargo price descriptors now import through named cargo overrides"
|
||||||
|
.to_string(),
|
||||||
|
],
|
||||||
}],
|
}],
|
||||||
}),
|
}),
|
||||||
notes: vec![],
|
notes: vec![],
|
||||||
};
|
};
|
||||||
|
|
||||||
let import = project_save_slice_to_runtime_state_import(
|
let mut import = project_save_slice_to_runtime_state_import(
|
||||||
&save_slice,
|
&save_slice,
|
||||||
"packed-events-named-cargo-price-parity",
|
"packed-events-named-cargo-price-import",
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
.expect("save slice should project");
|
.expect("save slice should project");
|
||||||
|
|
||||||
assert!(import.state.event_runtime_records.is_empty());
|
assert_eq!(import.state.event_runtime_records.len(), 1);
|
||||||
|
execute_step_command(
|
||||||
|
&mut import.state,
|
||||||
|
&StepCommand::ServiceTriggerKind { trigger_kind: 7 },
|
||||||
|
)
|
||||||
|
.expect("named cargo price runtime record should run");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
import.state.named_cargo_price_overrides.get("Alcohol"),
|
||||||
|
Some(&140)
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
import
|
import
|
||||||
.state
|
.state
|
||||||
.packed_event_collection
|
.packed_event_collection
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.and_then(|summary| summary.records[0].import_outcome.as_deref()),
|
.and_then(|summary| summary.records[0].import_outcome.as_deref()),
|
||||||
Some("blocked_evidence_blocked_descriptor")
|
Some("imported")
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
import
|
import
|
||||||
|
|
@ -8539,7 +8568,7 @@ mod tests {
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.and_then(|summary| summary.records[0].grouped_effect_rows.first())
|
.and_then(|summary| summary.records[0].grouped_effect_rows.first())
|
||||||
.and_then(|row| row.descriptor_label.as_deref()),
|
.and_then(|row| row.descriptor_label.as_deref()),
|
||||||
Some("Named Cargo Price Slot 1")
|
Some("Alcohol Price")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3710,6 +3710,14 @@ fn parse_real_grouped_effect_row_summary(
|
||||||
"named cargo production descriptor maps to cargo {cargo_label}"
|
"named cargo production descriptor maps to cargo {cargo_label}"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
if descriptor_metadata.is_some_and(|metadata| metadata.parameter_family == "cargo_price_scalar")
|
||||||
|
{
|
||||||
|
if let Some(cargo_label) = grounded_named_cargo_price_label(descriptor_id) {
|
||||||
|
notes.push(format!(
|
||||||
|
"named cargo price descriptor maps to cargo {cargo_label}"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Some(SmpLoadedPackedEventGroupedEffectRowSummary {
|
Some(SmpLoadedPackedEventGroupedEffectRowSummary {
|
||||||
group_index,
|
group_index,
|
||||||
|
|
@ -3744,6 +3752,11 @@ fn parse_real_grouped_effect_row_summary(
|
||||||
.and_then(known_cargo_slot_definition)
|
.and_then(known_cargo_slot_definition)
|
||||||
.map(|definition| runtime_cargo_class_name(definition.cargo_class).to_string()),
|
.map(|definition| runtime_cargo_class_name(definition.cargo_class).to_string()),
|
||||||
recovered_cargo_label: grounded_named_cargo_production_label(descriptor_id)
|
recovered_cargo_label: grounded_named_cargo_production_label(descriptor_id)
|
||||||
|
.or_else(|| {
|
||||||
|
descriptor_metadata
|
||||||
|
.filter(|metadata| metadata.parameter_family == "cargo_price_scalar")
|
||||||
|
.and_then(|_| grounded_named_cargo_price_label(descriptor_id))
|
||||||
|
})
|
||||||
.map(ToString::to_string),
|
.map(ToString::to_string),
|
||||||
recovered_locomotive_id: recovered_locomotive_availability_loco_id(descriptor_id)
|
recovered_locomotive_id: recovered_locomotive_availability_loco_id(descriptor_id)
|
||||||
.or_else(|| recovered_locomotive_cost_loco_id(descriptor_id)),
|
.or_else(|| recovered_locomotive_cost_loco_id(descriptor_id)),
|
||||||
|
|
@ -4097,6 +4110,45 @@ const GROUNDED_NAMED_CARGO_PRODUCTION_LABELS: [(&str, &str); 50] = [
|
||||||
("Wool", "Wool Production"),
|
("Wool", "Wool Production"),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#[derive(Debug, Deserialize)]
|
||||||
|
struct CheckedInCargoBindingsArtifact {
|
||||||
|
bindings: Vec<CheckedInCargoBindingRow>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Deserialize)]
|
||||||
|
struct CheckedInCargoBindingRow {
|
||||||
|
descriptor_id: u32,
|
||||||
|
band: String,
|
||||||
|
cargo_name: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn grounded_named_cargo_price_bindings() -> &'static BTreeMap<u32, (&'static str, &'static str)> {
|
||||||
|
static BINDINGS: OnceLock<BTreeMap<u32, (&'static str, &'static str)>> = OnceLock::new();
|
||||||
|
BINDINGS.get_or_init(|| {
|
||||||
|
let artifact: CheckedInCargoBindingsArtifact = serde_json::from_str(include_str!(
|
||||||
|
"../../../artifacts/exports/rt3-1.06/event-effects-cargo-bindings.json"
|
||||||
|
))
|
||||||
|
.expect("checked-in cargo bindings artifact should parse");
|
||||||
|
artifact
|
||||||
|
.bindings
|
||||||
|
.into_iter()
|
||||||
|
.filter(|binding| binding.band == "cargo_price_named")
|
||||||
|
.map(|binding| {
|
||||||
|
let cargo_name = Box::leak(binding.cargo_name.into_boxed_str()) as &'static str;
|
||||||
|
let descriptor_label =
|
||||||
|
Box::leak(format!("{cargo_name} Price").into_boxed_str()) as &'static str;
|
||||||
|
(binding.descriptor_id, (cargo_name, descriptor_label))
|
||||||
|
})
|
||||||
|
.collect()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) fn grounded_named_cargo_price_label(descriptor_id: u32) -> Option<&'static str> {
|
||||||
|
grounded_named_cargo_price_bindings()
|
||||||
|
.get(&descriptor_id)
|
||||||
|
.map(|(cargo_label, _)| *cargo_label)
|
||||||
|
}
|
||||||
|
|
||||||
fn grounded_named_cargo_production_label(descriptor_id: u32) -> Option<&'static str> {
|
fn grounded_named_cargo_production_label(descriptor_id: u32) -> Option<&'static str> {
|
||||||
let index = descriptor_id.checked_sub(180)? as usize;
|
let index = descriptor_id.checked_sub(180)? as usize;
|
||||||
GROUNDED_NAMED_CARGO_PRODUCTION_LABELS
|
GROUNDED_NAMED_CARGO_PRODUCTION_LABELS
|
||||||
|
|
@ -4830,12 +4882,21 @@ fn decode_real_grouped_effect_action(
|
||||||
&& descriptor_metadata.parameter_family == "cargo_price_scalar"
|
&& descriptor_metadata.parameter_family == "cargo_price_scalar"
|
||||||
&& row.row_shape == "scalar_assignment"
|
&& row.row_shape == "scalar_assignment"
|
||||||
&& row.raw_scalar_value >= 0
|
&& row.raw_scalar_value >= 0
|
||||||
&& row.descriptor_id == 105
|
|
||||||
{
|
{
|
||||||
return Some(RuntimeEffect::SetCargoPriceOverride {
|
return match row.descriptor_id {
|
||||||
target: RuntimeCargoPriceTarget::All,
|
105 => Some(RuntimeEffect::SetCargoPriceOverride {
|
||||||
value: row.raw_scalar_value as u32,
|
target: RuntimeCargoPriceTarget::All,
|
||||||
});
|
value: row.raw_scalar_value as u32,
|
||||||
|
}),
|
||||||
|
descriptor_id => grounded_named_cargo_price_label(descriptor_id).map(|name| {
|
||||||
|
RuntimeEffect::SetCargoPriceOverride {
|
||||||
|
target: RuntimeCargoPriceTarget::Named {
|
||||||
|
name: name.to_string(),
|
||||||
|
},
|
||||||
|
value: row.raw_scalar_value as u32,
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if descriptor_metadata.executable_in_runtime
|
if descriptor_metadata.executable_in_runtime
|
||||||
|
|
@ -12147,11 +12208,11 @@ mod tests {
|
||||||
let metadata =
|
let metadata =
|
||||||
real_grouped_effect_descriptor_metadata(106).expect("descriptor metadata should exist");
|
real_grouped_effect_descriptor_metadata(106).expect("descriptor metadata should exist");
|
||||||
|
|
||||||
assert_eq!(metadata.label, "Named Cargo Price Slot 1");
|
assert_eq!(metadata.label, "Alcohol Price");
|
||||||
assert_eq!(metadata.target_mask_bits, 0x08);
|
assert_eq!(metadata.target_mask_bits, 0x08);
|
||||||
assert_eq!(metadata.parameter_family, "cargo_price_scalar");
|
assert_eq!(metadata.parameter_family, "cargo_price_scalar");
|
||||||
assert_eq!(metadata.runtime_key, None);
|
assert_eq!(metadata.runtime_key, None);
|
||||||
assert!(!metadata.executable_in_runtime);
|
assert!(metadata.executable_in_runtime);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
@ -12291,7 +12352,7 @@ mod tests {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parses_named_cargo_price_row_with_stable_slot_label() {
|
fn parses_grounded_named_cargo_price_row_with_label() {
|
||||||
let row_bytes = build_real_grouped_effect_row(RealGroupedEffectRowSpec {
|
let row_bytes = build_real_grouped_effect_row(RealGroupedEffectRowSpec {
|
||||||
descriptor_id: 106,
|
descriptor_id: 106,
|
||||||
raw_scalar_value: 140,
|
raw_scalar_value: 140,
|
||||||
|
|
@ -12309,11 +12370,8 @@ mod tests {
|
||||||
.expect("row should parse");
|
.expect("row should parse");
|
||||||
|
|
||||||
assert_eq!(row.descriptor_id, 106);
|
assert_eq!(row.descriptor_id, 106);
|
||||||
assert_eq!(
|
assert_eq!(row.descriptor_label.as_deref(), Some("Alcohol Price"));
|
||||||
row.descriptor_label.as_deref(),
|
assert_eq!(row.recovered_cargo_label.as_deref(), Some("Alcohol"));
|
||||||
Some("Named Cargo Price Slot 1")
|
|
||||||
);
|
|
||||||
assert_eq!(row.recovered_cargo_label, None);
|
|
||||||
assert_eq!(row.parameter_family.as_deref(), Some("cargo_price_scalar"));
|
assert_eq!(row.parameter_family.as_deref(), Some("cargo_price_scalar"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,20 +127,19 @@ The highest-value next passes are now:
|
||||||
`All Cargo Prices` and descriptors `177..179` `All Cargo Production` / `All Factory Production`
|
`All Cargo Prices` and descriptors `177..179` `All Cargo Production` / `All Factory Production`
|
||||||
/ `All Farm/Mine Production` land on bounded event-owned cargo override state, and the grounded
|
/ `All Farm/Mine Production` land on bounded event-owned cargo override state, and the grounded
|
||||||
named cargo-production strip `180..229` now lands on named cargo production overrides too
|
named cargo-production strip `180..229` now lands on named cargo production overrides too
|
||||||
- the named cargo-price strip `106..176` remains explicit
|
- the named cargo-price strip `106..176` now lands on named cargo price overrides too; the
|
||||||
`blocked_evidence_blocked_descriptor` parity until descriptor ordering is pinned more strongly,
|
checked-in static selector reconstruction is now explicit because the broader 1.06 CargoTypes
|
||||||
but the checked-in semantic catalog now gives that band stable `Named Cargo Price Slot N`
|
corpus has `51` names, the Cargo106 `cargoSkin` corpus has `70`, and the rehosted offline
|
||||||
labels instead of anonymous `Unknown Cargo Price` residue; the checked-in static CargoTypes
|
selector builder now closes the 71-row price strip as `cargoSkin` plus the core `Rock`
|
||||||
corpora also make the current limit explicit because the broader 1.06 corpus has `51` names and
|
carry-over; a new
|
||||||
the 1.05 corpus has `41`, while the named price strip still spans `71` descriptors; a new
|
|
||||||
checked-in offline cargo-source report at
|
checked-in offline cargo-source report at
|
||||||
`artifacts/exports/rt3-1.06/economy-cargo-sources.json` now parses both `CargoTypes` and the
|
`artifacts/exports/rt3-1.06/economy-cargo-sources.json` now parses both `CargoTypes` and the
|
||||||
`Cargo106.PK4` `cargoSkin` descriptors through rehosted code, normalizes localized
|
`Cargo106.PK4` `cargoSkin` descriptors through rehosted code, normalizes localized
|
||||||
`~####Name` tokens into visible names, builds a merged live cargo registry, and derives an exact
|
`~####Name` tokens into visible names, builds a merged live cargo registry, and now derives
|
||||||
named cargo-production selector from the checked-in bindings; dedicated CLI inspector commands
|
exact named cargo-production and named cargo-price selectors from the checked-in bindings;
|
||||||
now expose that production selector and the unresolved price-selector candidate registry
|
dedicated CLI inspector commands now expose both grounded selectors directly, while the same
|
||||||
directly, and the same report still shows that the current 1.06 visible-name union is `80`, so
|
report still shows the nine excluded CargoTypes-only industrial names that sit outside the
|
||||||
source recovery alone still does not prove the live price-selector ordering
|
71-row price strip
|
||||||
- the add-building strip `503..519` is now explicitly classified as recovered shell-owned parity,
|
- the add-building strip `503..519` is now explicitly classified as recovered shell-owned parity,
|
||||||
with tracked fixture coverage, instead of generic unresolved descriptor residue
|
with tracked fixture coverage, instead of generic unresolved descriptor residue
|
||||||
- widen real packed-event executable coverage descriptor by descriptor after identity, target mask,
|
- widen real packed-event executable coverage descriptor by descriptor after identity, target mask,
|
||||||
|
|
|
||||||
|
|
@ -89,20 +89,18 @@ Implemented today:
|
||||||
`All Cargo Prices` and descriptors `177..179` `All Cargo Production` / `All Factory Production`
|
`All Cargo Prices` and descriptors `177..179` `All Cargo Production` / `All Factory Production`
|
||||||
/ `All Farm/Mine Production` import through bounded cargo override surfaces, and the grounded
|
/ `All Farm/Mine Production` import through bounded cargo override surfaces, and the grounded
|
||||||
named cargo-production strip `180..229` now imports through named cargo production overrides too
|
named cargo-production strip `180..229` now imports through named cargo production overrides too
|
||||||
- the named cargo-price strip `106..176` now sits on explicit
|
- the named cargo-price strip `106..176` now imports through named cargo price overrides too; the
|
||||||
`blocked_evidence_blocked_descriptor` parity instead of generic unmapped-descriptor frontier;
|
checked-in static selector reconstruction is now explicit because the broader 1.06 CargoTypes
|
||||||
the checked-in semantic catalog now at least gives that band stable `Named Cargo Price Slot N`
|
corpus has `51` names, the Cargo106 `cargoSkin` corpus has `70`, and the rehosted offline
|
||||||
labels instead of anonymous `Unknown Cargo Price` residue, and the checked-in static CargoTypes
|
selector builder now closes the 71-row price strip as `cargoSkin` plus the core `Rock`
|
||||||
corpora now make the evidence gap explicit because they cover `51` names in the broader 1.06
|
carry-over; a checked-in offline cargo-source report at
|
||||||
install and `41` in the 1.05 install while the named price strip still spans `71` descriptors;
|
|
||||||
a new checked-in offline cargo-source report at
|
|
||||||
`artifacts/exports/rt3-1.06/economy-cargo-sources.json` now parses both `CargoTypes` and the
|
`artifacts/exports/rt3-1.06/economy-cargo-sources.json` now parses both `CargoTypes` and the
|
||||||
`Cargo106.PK4` `cargoSkin` descriptors through rehosted code, normalizes localized
|
`Cargo106.PK4` `cargoSkin` descriptors through rehosted code, normalizes localized
|
||||||
`~####Name` tokens into visible names, builds a merged live cargo registry, and derives an exact
|
`~####Name` tokens into visible names, builds a merged live cargo registry, and now derives
|
||||||
named cargo-production selector from the checked-in bindings; dedicated CLI inspector commands
|
exact named cargo-production and named cargo-price selectors from the checked-in bindings;
|
||||||
now expose that production selector and the unresolved price-selector candidate registry
|
dedicated CLI inspector commands now expose both grounded selectors directly, while the same
|
||||||
directly, and the same report still shows that the current 1.06 visible-name union is `80`, so
|
report still shows the nine excluded CargoTypes-only industrial names that sit outside the
|
||||||
source recovery alone still does not prove the live price-selector ordering
|
71-row price strip
|
||||||
- the add-building strip `503..519` is now explicitly classified as recovered shell-owned parity
|
- the add-building strip `503..519` is now explicitly classified as recovered shell-owned parity
|
||||||
with tracked fixture coverage, not generic unresolved descriptor residue
|
with tracked fixture coverage, not generic unresolved descriptor residue
|
||||||
- a minimal event-owned train surface and an opaque economic-status lane now exist in runtime
|
- a minimal event-owned train surface and an opaque economic-status lane now exist in runtime
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"fixture_id": "packed-event-cargo-economics-parity-save-slice-fixture",
|
"fixture_id": "packed-event-cargo-economics-parity-save-slice-fixture",
|
||||||
"source": {
|
"source": {
|
||||||
"kind": "captured-runtime",
|
"kind": "captured-runtime",
|
||||||
"description": "Fixture pinning the remaining named cargo-price descriptor strip on explicit evidence-blocked parity."
|
"description": "Fixture pinning the remaining negative named cargo-price variant on explicit variant-blocked parity."
|
||||||
},
|
},
|
||||||
"state_save_slice_path": "packed-event-cargo-economics-parity-save-slice.json",
|
"state_save_slice_path": "packed-event-cargo-economics-parity-save-slice.json",
|
||||||
"commands": [
|
"commands": [
|
||||||
|
|
@ -18,20 +18,21 @@
|
||||||
"packed_event_record_count": 1,
|
"packed_event_record_count": 1,
|
||||||
"packed_event_decoded_record_count": 1,
|
"packed_event_decoded_record_count": 1,
|
||||||
"packed_event_imported_runtime_record_count": 0,
|
"packed_event_imported_runtime_record_count": 0,
|
||||||
"packed_event_blocked_evidence_blocked_descriptor_count": 1,
|
"packed_event_blocked_evidence_blocked_descriptor_count": 0,
|
||||||
"packed_event_blocked_unmapped_real_descriptor_count": 0,
|
"packed_event_blocked_unmapped_real_descriptor_count": 0,
|
||||||
"packed_event_blocked_unmapped_world_descriptor_count": 0,
|
"packed_event_blocked_unmapped_world_descriptor_count": 0,
|
||||||
"event_runtime_record_count": 0
|
"event_runtime_record_count": 0,
|
||||||
|
"packed_event_blocked_variant_or_scope_blocked_descriptor_count": 1
|
||||||
},
|
},
|
||||||
"expected_state_fragment": {
|
"expected_state_fragment": {
|
||||||
"packed_event_collection": {
|
"packed_event_collection": {
|
||||||
"records": [
|
"records": [
|
||||||
{
|
{
|
||||||
"import_outcome": "blocked_evidence_blocked_descriptor",
|
"import_outcome": "blocked_variant_or_scope_blocked_descriptor",
|
||||||
"grouped_effect_rows": [
|
"grouped_effect_rows": [
|
||||||
{
|
{
|
||||||
"descriptor_id": 106,
|
"descriptor_id": 106,
|
||||||
"descriptor_label": "Named Cargo Price Slot 1",
|
"descriptor_label": "Alcohol Price",
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"semantic_family": "scalar_assignment"
|
"semantic_family": "scalar_assignment"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
||||||
"format_version": 1,
|
"format_version": 1,
|
||||||
"save_slice_id": "packed-event-cargo-economics-parity-save-slice",
|
"save_slice_id": "packed-event-cargo-economics-parity-save-slice",
|
||||||
"source": {
|
"source": {
|
||||||
"description": "Tracked save-slice document pinning the remaining named cargo-price descriptor strip on explicit evidence-blocked parity.",
|
"description": "Tracked save-slice document pinning the remaining negative named cargo-price variant on explicit variant-blocked parity.",
|
||||||
"original_save_filename": "captured-cargo-economics-parity.gms",
|
"original_save_filename": "captured-cargo-economics-parity.gms",
|
||||||
"original_save_sha256": "cargo-economics-parity-sample-sha256",
|
"original_save_sha256": "cargo-economics-parity-sample-sha256",
|
||||||
"notes": [
|
"notes": [
|
||||||
"tracked as JSON save-slice document rather than raw .smp",
|
"tracked as JSON save-slice document rather than raw .smp",
|
||||||
"pins the named cargo-price strip until exact descriptor-to-cargo ordering is grounded strongly enough"
|
"pins the negative named cargo-price variant after the positive strip is grounded"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"save_slice": {
|
"save_slice": {
|
||||||
|
|
@ -37,7 +37,9 @@
|
||||||
"packed_state_version_hex": "0x000003e9",
|
"packed_state_version_hex": "0x000003e9",
|
||||||
"live_id_bound": 65,
|
"live_id_bound": 65,
|
||||||
"live_record_count": 1,
|
"live_record_count": 1,
|
||||||
"live_entry_ids": [65],
|
"live_entry_ids": [
|
||||||
|
65
|
||||||
|
],
|
||||||
"decoded_record_count": 1,
|
"decoded_record_count": 1,
|
||||||
"imported_runtime_record_count": 0,
|
"imported_runtime_record_count": 0,
|
||||||
"records": [
|
"records": [
|
||||||
|
|
@ -57,25 +59,45 @@
|
||||||
"one_shot_header_0x7f5": 0,
|
"one_shot_header_0x7f5": 0,
|
||||||
"modifier_flag_0x7f9": 0,
|
"modifier_flag_0x7f9": 0,
|
||||||
"modifier_flag_0x7fa": 0,
|
"modifier_flag_0x7fa": 0,
|
||||||
"grouped_target_scope_ordinals_0x7fb": [0, 0, 0, 0],
|
"grouped_target_scope_ordinals_0x7fb": [
|
||||||
"grouped_scope_checkboxes_0x7ff": [1, 0, 0, 0],
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"grouped_scope_checkboxes_0x7ff": [
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
"summary_toggle_0x800": 1,
|
"summary_toggle_0x800": 1,
|
||||||
"grouped_territory_selectors_0x80f": [-1, -1, -1, -1]
|
"grouped_territory_selectors_0x80f": [
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"text_bands": [],
|
"text_bands": [],
|
||||||
"standalone_condition_row_count": 0,
|
"standalone_condition_row_count": 0,
|
||||||
"standalone_condition_rows": [],
|
"standalone_condition_rows": [],
|
||||||
"grouped_effect_row_counts": [1, 0, 0, 0],
|
"grouped_effect_row_counts": [
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
"grouped_effect_rows": [
|
"grouped_effect_rows": [
|
||||||
{
|
{
|
||||||
"group_index": 0,
|
"group_index": 0,
|
||||||
"row_index": 0,
|
"row_index": 0,
|
||||||
"descriptor_id": 106,
|
"descriptor_id": 106,
|
||||||
"descriptor_label": "Named Cargo Price Slot 1",
|
"descriptor_label": "Alcohol Price",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
"parameter_family": "cargo_price_scalar",
|
"parameter_family": "cargo_price_scalar",
|
||||||
"opcode": 3,
|
"opcode": 3,
|
||||||
"raw_scalar_value": 140,
|
"raw_scalar_value": -1,
|
||||||
"value_byte_0x09": 0,
|
"value_byte_0x09": 0,
|
||||||
"value_dword_0x0d": 0,
|
"value_dword_0x0d": 0,
|
||||||
"value_byte_0x11": 0,
|
"value_byte_0x11": 0,
|
||||||
|
|
@ -84,27 +106,28 @@
|
||||||
"value_word_0x16": 0,
|
"value_word_0x16": 0,
|
||||||
"row_shape": "scalar_assignment",
|
"row_shape": "scalar_assignment",
|
||||||
"semantic_family": "scalar_assignment",
|
"semantic_family": "scalar_assignment",
|
||||||
"semantic_preview": "Set Named Cargo Price Slot 1 to 140",
|
"semantic_preview": "Set Alcohol Price to -1",
|
||||||
"recovered_cargo_slot": null,
|
"recovered_cargo_slot": null,
|
||||||
"recovered_cargo_class": null,
|
"recovered_cargo_class": null,
|
||||||
"recovered_locomotive_id": null,
|
"recovered_locomotive_id": null,
|
||||||
"locomotive_name": null,
|
"locomotive_name": null,
|
||||||
"notes": [
|
"notes": [
|
||||||
"descriptor recovered from checked-in EventEffects semantic catalog",
|
"descriptor recovered from checked-in EventEffects semantic catalog",
|
||||||
"exact named cargo ordering for the price strip is not yet pinned"
|
"negative named cargo price variants remain parity-only"
|
||||||
]
|
],
|
||||||
|
"recovered_cargo_label": "Alcohol"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"decoded_actions": [],
|
"decoded_actions": [],
|
||||||
"executable_import_ready": false,
|
"executable_import_ready": false,
|
||||||
"notes": [
|
"notes": [
|
||||||
"named cargo-price descriptors remain explicit evidence-blocked parity"
|
"negative named cargo-price variants remain explicit parity"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
"named cargo price evidence-blocked parity sample"
|
"negative named cargo price variant parity sample"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"fixture_id": "packed-event-cargo-economics-save-slice-fixture",
|
"fixture_id": "packed-event-cargo-economics-save-slice-fixture",
|
||||||
"source": {
|
"source": {
|
||||||
"kind": "captured-runtime",
|
"kind": "captured-runtime",
|
||||||
"description": "Fixture proving the grounded aggregate cargo-economics descriptors plus the grounded named production strip execute through bounded cargo override surfaces."
|
"description": "Fixture proving the grounded aggregate cargo-economics descriptors plus the grounded named price and production strips execute through bounded cargo override surfaces."
|
||||||
},
|
},
|
||||||
"state_save_slice_path": "packed-event-cargo-economics-save-slice.json",
|
"state_save_slice_path": "packed-event-cargo-economics-save-slice.json",
|
||||||
"commands": [
|
"commands": [
|
||||||
|
|
@ -50,6 +50,14 @@
|
||||||
},
|
},
|
||||||
"value": 180
|
"value": 180
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"kind": "set_cargo_price_override",
|
||||||
|
"target": {
|
||||||
|
"kind": "named",
|
||||||
|
"name": "Alcohol"
|
||||||
|
},
|
||||||
|
"value": 140
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"kind": "set_cargo_production_override",
|
"kind": "set_cargo_production_override",
|
||||||
"target": {
|
"target": {
|
||||||
|
|
@ -81,6 +89,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"named_cargo_price_overrides": {
|
||||||
|
"Alcohol": 140
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
||||||
"format_version": 1,
|
"format_version": 1,
|
||||||
"save_slice_id": "packed-event-cargo-economics-save-slice",
|
"save_slice_id": "packed-event-cargo-economics-save-slice",
|
||||||
"source": {
|
"source": {
|
||||||
"description": "Tracked save-slice document proving the grounded aggregate and named-production cargo-economics descriptors execute through bounded cargo override surfaces.",
|
"description": "Tracked save-slice document proving the grounded aggregate, named-price, and named-production cargo-economics descriptors execute through bounded cargo override surfaces.",
|
||||||
"original_save_filename": "captured-cargo-economics.gms",
|
"original_save_filename": "captured-cargo-economics.gms",
|
||||||
"original_save_sha256": "cargo-economics-sample-sha256",
|
"original_save_sha256": "cargo-economics-sample-sha256",
|
||||||
"notes": [
|
"notes": [
|
||||||
"tracked as JSON save-slice document rather than raw .smp",
|
"tracked as JSON save-slice document rather than raw .smp",
|
||||||
"pins the grounded aggregate descriptors 105 and 177..179 plus the grounded named production strip 180..229 while named cargo price remains evidence-blocked"
|
"pins the grounded descriptors 105..179 plus named cargo price 106..176 and named cargo production 180..229"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"save_slice": {
|
"save_slice": {
|
||||||
|
|
@ -37,9 +37,11 @@
|
||||||
"packed_state_version_hex": "0x000003e9",
|
"packed_state_version_hex": "0x000003e9",
|
||||||
"live_id_bound": 64,
|
"live_id_bound": 64,
|
||||||
"live_record_count": 1,
|
"live_record_count": 1,
|
||||||
"live_entry_ids": [64],
|
"live_entry_ids": [
|
||||||
|
64
|
||||||
|
],
|
||||||
"decoded_record_count": 1,
|
"decoded_record_count": 1,
|
||||||
"imported_runtime_record_count": 0,
|
"imported_runtime_record_count": 1,
|
||||||
"records": [
|
"records": [
|
||||||
{
|
{
|
||||||
"record_index": 0,
|
"record_index": 0,
|
||||||
|
|
@ -57,15 +59,35 @@
|
||||||
"one_shot_header_0x7f5": 0,
|
"one_shot_header_0x7f5": 0,
|
||||||
"modifier_flag_0x7f9": 0,
|
"modifier_flag_0x7f9": 0,
|
||||||
"modifier_flag_0x7fa": 0,
|
"modifier_flag_0x7fa": 0,
|
||||||
"grouped_target_scope_ordinals_0x7fb": [0, 0, 0, 0],
|
"grouped_target_scope_ordinals_0x7fb": [
|
||||||
"grouped_scope_checkboxes_0x7ff": [1, 0, 0, 0],
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"grouped_scope_checkboxes_0x7ff": [
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
"summary_toggle_0x800": 1,
|
"summary_toggle_0x800": 1,
|
||||||
"grouped_territory_selectors_0x80f": [-1, -1, -1, -1]
|
"grouped_territory_selectors_0x80f": [
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"text_bands": [],
|
"text_bands": [],
|
||||||
"standalone_condition_row_count": 0,
|
"standalone_condition_row_count": 0,
|
||||||
"standalone_condition_rows": [],
|
"standalone_condition_rows": [],
|
||||||
"grouped_effect_row_counts": [5, 0, 0, 0],
|
"grouped_effect_row_counts": [
|
||||||
|
6,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
"grouped_effect_rows": [
|
"grouped_effect_rows": [
|
||||||
{
|
{
|
||||||
"group_index": 0,
|
"group_index": 0,
|
||||||
|
|
@ -96,6 +118,34 @@
|
||||||
{
|
{
|
||||||
"group_index": 0,
|
"group_index": 0,
|
||||||
"row_index": 1,
|
"row_index": 1,
|
||||||
|
"descriptor_id": 106,
|
||||||
|
"descriptor_label": "Alcohol Price",
|
||||||
|
"target_mask_bits": 8,
|
||||||
|
"parameter_family": "cargo_price_scalar",
|
||||||
|
"opcode": 3,
|
||||||
|
"raw_scalar_value": 140,
|
||||||
|
"value_byte_0x09": 0,
|
||||||
|
"value_dword_0x0d": 0,
|
||||||
|
"value_byte_0x11": 0,
|
||||||
|
"value_byte_0x12": 0,
|
||||||
|
"value_word_0x14": 0,
|
||||||
|
"value_word_0x16": 0,
|
||||||
|
"row_shape": "scalar_assignment",
|
||||||
|
"semantic_family": "scalar_assignment",
|
||||||
|
"semantic_preview": "Set Alcohol Price to 140",
|
||||||
|
"recovered_cargo_slot": null,
|
||||||
|
"recovered_cargo_class": null,
|
||||||
|
"recovered_cargo_label": "Alcohol",
|
||||||
|
"recovered_locomotive_id": null,
|
||||||
|
"locomotive_name": null,
|
||||||
|
"notes": [
|
||||||
|
"descriptor recovered from checked-in EventEffects semantic catalog",
|
||||||
|
"named cargo price descriptor maps to cargo Alcohol"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_index": 0,
|
||||||
|
"row_index": 2,
|
||||||
"descriptor_id": 177,
|
"descriptor_id": 177,
|
||||||
"descriptor_label": "All Cargo Production",
|
"descriptor_label": "All Cargo Production",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
|
|
@ -121,7 +171,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group_index": 0,
|
"group_index": 0,
|
||||||
"row_index": 2,
|
"row_index": 3,
|
||||||
"descriptor_id": 178,
|
"descriptor_id": 178,
|
||||||
"descriptor_label": "All Factory Production",
|
"descriptor_label": "All Factory Production",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
|
|
@ -147,7 +197,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group_index": 0,
|
"group_index": 0,
|
||||||
"row_index": 3,
|
"row_index": 4,
|
||||||
"descriptor_id": 179,
|
"descriptor_id": 179,
|
||||||
"descriptor_label": "All Farm/Mine Production",
|
"descriptor_label": "All Farm/Mine Production",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
|
|
@ -173,7 +223,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group_index": 0,
|
"group_index": 0,
|
||||||
"row_index": 4,
|
"row_index": 5,
|
||||||
"descriptor_id": 180,
|
"descriptor_id": 180,
|
||||||
"descriptor_label": "Alcohol Production",
|
"descriptor_label": "Alcohol Production",
|
||||||
"target_mask_bits": 8,
|
"target_mask_bits": 8,
|
||||||
|
|
@ -208,6 +258,14 @@
|
||||||
},
|
},
|
||||||
"value": 180
|
"value": 180
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"kind": "set_cargo_price_override",
|
||||||
|
"target": {
|
||||||
|
"kind": "named",
|
||||||
|
"name": "Alcohol"
|
||||||
|
},
|
||||||
|
"value": 140
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"kind": "set_cargo_production_override",
|
"kind": "set_cargo_production_override",
|
||||||
"target": {
|
"target": {
|
||||||
|
|
@ -240,8 +298,9 @@
|
||||||
],
|
],
|
||||||
"executable_import_ready": true,
|
"executable_import_ready": true,
|
||||||
"notes": [
|
"notes": [
|
||||||
"grounded aggregate cargo economics descriptors plus the grounded named production strip execute through bounded cargo override surfaces"
|
"aggregate and named cargo-economics descriptors now import through bounded cargo overrides"
|
||||||
]
|
],
|
||||||
|
"imported_runtime_record_count": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue