Execute recovered world scalar event descriptors

This commit is contained in:
Jan Petykiewicz 2026-04-16 11:39:59 -07:00
commit 13c7268b0d
23 changed files with 675 additions and 98 deletions

View file

@ -3,7 +3,7 @@
"fixture_id": "packed-event-locomotive-availability-missing-catalog-save-slice-fixture",
"source": {
"kind": "captured-runtime",
"description": "Fixture backed by a tracked save-slice document that leaves a boolean locomotive availability row blocked until overlay-backed catalog context is supplied."
"description": "Fixture backed by a tracked save-slice document that leaves a scalar locomotive availability row blocked until overlay-backed catalog context is supplied."
},
"state_save_slice_path": "packed-event-locomotive-availability-missing-catalog-save-slice.json",
"commands": [
@ -42,7 +42,7 @@
{
"descriptor_id": 250,
"recovered_locomotive_id": 10,
"semantic_preview": "Set Unknown Loco Available to 1"
"semantic_preview": "Set Unknown Loco Available to 42"
}
]
}

View file

@ -2,12 +2,12 @@
"format_version": 1,
"save_slice_id": "packed-event-locomotive-availability-missing-catalog-save-slice",
"source": {
"description": "Tracked save-slice document proving boolean locomotive availability rows stay parity-only without overlay-backed locomotive catalog context.",
"description": "Tracked save-slice document proving scalar locomotive availability rows stay parity-only without overlay-backed locomotive catalog context.",
"original_save_filename": "captured-locomotive-availability-missing-catalog.gms",
"original_save_sha256": "locomotive-availability-missing-catalog-sample-sha256",
"notes": [
"tracked as JSON save-slice document rather than raw .smp",
"locks the explicit missing locomotive catalog frontier for boolean availability rows"
"locks the explicit missing locomotive catalog frontier for scalar availability rows"
]
},
"save_slice": {
@ -71,7 +71,7 @@
"target_mask_bits": 8,
"parameter_family": "locomotive_availability_scalar",
"opcode": 3,
"raw_scalar_value": 1,
"raw_scalar_value": 42,
"value_byte_0x09": 0,
"value_dword_0x0d": 0,
"value_byte_0x11": 0,
@ -80,7 +80,7 @@
"value_word_0x16": 0,
"row_shape": "scalar_assignment",
"semantic_family": "scalar_assignment",
"semantic_preview": "Set Unknown Loco Available to 1",
"semantic_preview": "Set Unknown Loco Available to 42",
"recovered_locomotive_id": 10,
"locomotive_name": null,
"notes": []
@ -89,7 +89,7 @@
"decoded_actions": [],
"executable_import_ready": false,
"notes": [
"boolean locomotive availability row still requires overlay-backed locomotive catalog context"
"scalar locomotive availability row still requires overlay-backed locomotive catalog context"
]
}
]

View file

@ -3,7 +3,7 @@
"fixture_id": "packed-event-locomotive-availability-overlay-fixture",
"source": {
"kind": "captured-runtime",
"description": "Fixture backed by an overlay import document so boolean locomotive availability descriptors execute against captured catalog context."
"description": "Fixture backed by an overlay import document so scalar locomotive availability descriptors execute against captured catalog context."
},
"state_import_path": "packed-event-locomotive-availability-overlay.json",
"commands": [
@ -28,7 +28,7 @@
"packed_event_parity_only_record_count": 1,
"event_runtime_record_count": 1,
"named_locomotive_availability_count": 2,
"zero_named_locomotive_availability_count": 1,
"zero_named_locomotive_availability_count": 0,
"total_event_record_service_count": 1,
"total_trigger_dispatch_count": 1
},
@ -38,8 +38,8 @@
"save_slice.import_projection": "overlay-runtime-restore-v1"
},
"named_locomotive_availability": {
"Locomotive 10": 1,
"Locomotive 112": 0
"Locomotive 10": 42,
"Locomotive 112": 7
},
"packed_event_collection": {
"live_entry_ids": [33],
@ -67,14 +67,14 @@
"service_count": 1,
"effects": [
{
"kind": "set_named_locomotive_availability",
"kind": "set_named_locomotive_availability_value",
"name": "Locomotive 10",
"value": true
"value": 42
},
{
"kind": "set_named_locomotive_availability",
"kind": "set_named_locomotive_availability_value",
"name": "Locomotive 112",
"value": false
"value": 7
}
]
}

View file

@ -2,12 +2,12 @@
"format_version": 1,
"save_slice_id": "packed-event-locomotive-availability-overlay-save-slice",
"source": {
"description": "Tracked save-slice document proving boolean locomotive availability descriptors can import through overlay-backed catalog context.",
"description": "Tracked save-slice document proving scalar locomotive availability descriptors can import through overlay-backed catalog context.",
"original_save_filename": "captured-locomotive-availability-overlay.gms",
"original_save_sha256": "locomotive-availability-overlay-sample-sha256",
"notes": [
"tracked as JSON save-slice document rather than raw .smp",
"uses synthetic catalog names to prove descriptor-to-id lowering plus overlay-backed resolution"
"uses synthetic catalog names to prove descriptor-to-id lowering plus overlay-backed scalar resolution"
]
},
"save_slice": {
@ -71,7 +71,7 @@
"target_mask_bits": 8,
"parameter_family": "locomotive_availability_scalar",
"opcode": 3,
"raw_scalar_value": 1,
"raw_scalar_value": 42,
"value_byte_0x09": 0,
"value_dword_0x0d": 0,
"value_byte_0x11": 0,
@ -80,7 +80,7 @@
"value_word_0x16": 0,
"row_shape": "scalar_assignment",
"semantic_family": "scalar_assignment",
"semantic_preview": "Set Unknown Loco Available to 1",
"semantic_preview": "Set Unknown Loco Available to 42",
"recovered_locomotive_id": 10,
"locomotive_name": null,
"notes": []
@ -93,7 +93,7 @@
"target_mask_bits": 8,
"parameter_family": "locomotive_availability_scalar",
"opcode": 3,
"raw_scalar_value": 0,
"raw_scalar_value": 7,
"value_byte_0x09": 0,
"value_dword_0x0d": 0,
"value_byte_0x11": 0,
@ -102,7 +102,7 @@
"value_word_0x16": 0,
"row_shape": "scalar_assignment",
"semantic_family": "scalar_assignment",
"semantic_preview": "Set Unknown Loco Available to 0",
"semantic_preview": "Set Unknown Loco Available to 7",
"recovered_locomotive_id": 112,
"locomotive_name": null,
"notes": []
@ -111,7 +111,7 @@
"decoded_actions": [],
"executable_import_ready": false,
"notes": [
"boolean locomotive availability rows use overlay-backed catalog context"
"scalar locomotive availability rows use overlay-backed catalog context"
]
}
]

View file

@ -2,7 +2,7 @@
"format_version": 1,
"import_id": "packed-event-locomotive-availability-overlay",
"source": {
"description": "Overlay import that combines a captured base snapshot with boolean locomotive availability descriptors.",
"description": "Overlay import that combines a captured base snapshot with scalar locomotive availability descriptors.",
"notes": [
"used to upgrade descriptor-driven named locomotive availability rows through overlay-backed catalog context"
]

View file

@ -26,11 +26,12 @@
"packed_event_imported_runtime_record_count": 1,
"packed_event_parity_only_record_count": 2,
"packed_event_unsupported_record_count": 0,
"packed_event_blocked_missing_locomotive_catalog_context_count": 1,
"packed_event_blocked_missing_condition_context_count": 0,
"packed_event_blocked_territory_condition_scope_count": 0,
"packed_event_blocked_missing_compact_control_count": 0,
"packed_event_blocked_unmapped_real_descriptor_count": 0,
"packed_event_blocked_unmapped_world_descriptor_count": 1,
"packed_event_blocked_unmapped_world_descriptor_count": 0,
"packed_event_blocked_structural_only_count": 0,
"event_runtime_record_count": 1,
"total_company_cash": 0
@ -48,7 +49,7 @@
{
"decode_status": "parity_only",
"payload_family": "real_packed_v1",
"import_outcome": "blocked_unmapped_world_descriptor",
"import_outcome": "blocked_missing_locomotive_catalog_context",
"grouped_effect_rows": [
{
"descriptor_id": 250,

View file

@ -7,7 +7,7 @@
"original_save_sha256": "parity-sample-sha256",
"notes": [
"tracked as JSON save-slice document rather than raw .smp",
"preserves one recovered-but-unmapped locomotive availability row and one semantically decoded-but-parity-only row"
"preserves one recovered scalar locomotive-availability row that still needs overlay-backed catalog context and one semantically decoded imported row"
]
},
"save_slice": {
@ -83,7 +83,7 @@
"recovered_locomotive_id": 10,
"locomotive_name": null,
"notes": [
"recovered locomotive availability descriptor family remains parity-only until the scalar payload is in the grounded boolean subset"
"recovered locomotive availability descriptor family now supports scalar payloads, but standalone save-slice import still needs overlay-backed locomotive catalog context"
]
}
],
@ -91,7 +91,7 @@
"executable_import_ready": false,
"notes": [
"decoded from grounded real 0x4e9a row framing",
"recovered locomotives-page descriptor band is now checked in, but this scalar family still needs overlay-backed locomotive catalog context and a grounded boolean scalar payload"
"recovered locomotives-page descriptor band is now checked in, and this scalar family can import through named locomotive availability overrides once overlay-backed locomotive catalog context is present"
]
},
{

View file

@ -3,7 +3,7 @@
"fixture_id": "packed-event-world-scalar-band-parity-save-slice-fixture",
"source": {
"kind": "captured-runtime",
"description": "Fixture backed by a tracked save-slice document that pins recovered scalar-band world descriptors as parity-only."
"description": "Fixture backed by a tracked save-slice document that mixes executable scalar world descriptors with one remaining missing-catalog frontier."
},
"state_save_slice_path": "packed-event-world-scalar-band-parity-save-slice.json",
"commands": [
@ -23,7 +23,7 @@
"packed_event_collection_present": true,
"packed_event_record_count": 3,
"packed_event_decoded_record_count": 3,
"packed_event_imported_runtime_record_count": 0,
"packed_event_imported_runtime_record_count": 2,
"packed_event_parity_only_record_count": 3,
"packed_event_unsupported_record_count": 0,
"packed_event_blocked_missing_locomotive_catalog_context_count": 1,
@ -31,9 +31,10 @@
"packed_event_blocked_territory_condition_scope_count": 0,
"packed_event_blocked_missing_compact_control_count": 0,
"packed_event_blocked_unmapped_real_descriptor_count": 0,
"packed_event_blocked_unmapped_world_descriptor_count": 2,
"packed_event_blocked_unmapped_world_descriptor_count": 0,
"packed_event_blocked_structural_only_count": 0,
"event_runtime_record_count": 0,
"event_runtime_record_count": 2,
"cargo_production_override_count": 0,
"total_company_cash": 0
},
"expected_state_fragment": {
@ -46,7 +47,7 @@
{
"decode_status": "parity_only",
"payload_family": "real_packed_v1",
"import_outcome": "blocked_unmapped_world_descriptor",
"import_outcome": "imported",
"grouped_effect_rows": [
{
"descriptor_id": 230,
@ -79,7 +80,7 @@
{
"decode_status": "parity_only",
"payload_family": "real_packed_v1",
"import_outcome": "blocked_unmapped_world_descriptor",
"import_outcome": "imported",
"grouped_effect_rows": [
{
"descriptor_id": 453,
@ -93,6 +94,27 @@
]
}
]
}
},
"event_runtime_records": [
{
"record_id": 11,
"effects": [
{
"kind": "set_cargo_production_slot",
"slot": 1,
"value": 125
}
]
},
{
"record_id": 13,
"effects": [
{
"kind": "set_territory_access_cost",
"value": 750000
}
]
}
]
}
}

View file

@ -2,12 +2,12 @@
"format_version": 1,
"save_slice_id": "packed-event-world-scalar-band-parity-save-slice",
"source": {
"description": "Tracked save-slice document pinning recovered locomotives-page scalar families that are still parity-only.",
"description": "Tracked save-slice document pinning recovered locomotives-page scalar families across executable and missing-context boundaries.",
"original_save_filename": "captured-world-scalar-band-parity.gms",
"original_save_sha256": "world-scalar-band-parity-sample-sha256",
"notes": [
"tracked as JSON save-slice document rather than raw .smp",
"covers recovered cargo production, locomotive cost, and territory access cost families without claiming executable runtime semantics"
"covers recovered cargo production, locomotive cost, and territory access cost families with one remaining missing-catalog frontier"
]
},
"save_slice": {
@ -89,7 +89,7 @@
"decoded_actions": [],
"executable_import_ready": false,
"notes": [
"recovered cargo production metadata is now checked in, but no runtime landing surface exists yet"
"recovered cargo production metadata now imports through world overrides"
]
},
{
@ -201,7 +201,7 @@
"decoded_actions": [],
"executable_import_ready": false,
"notes": [
"recovered territory access cost metadata is now checked in, but execution is still deferred"
"recovered territory access cost metadata now imports through world restore"
]
}
]

View file

@ -0,0 +1,71 @@
{
"format_version": 1,
"fixture_id": "packed-event-world-scalar-executable-save-slice-fixture",
"source": {
"kind": "captured-runtime",
"description": "Fixture backed by a tracked save-slice document proving recovered cargo-production and territory-access-cost rows execute through world scalar runtime surfaces."
},
"state_save_slice_path": "packed-event-world-scalar-executable-save-slice.json",
"commands": [
{
"kind": "service_trigger_kind",
"trigger_kind": 7
}
],
"expected_summary": {
"calendar": {
"year": 1830,
"month_slot": 0,
"phase_slot": 0,
"tick_slot": 0
},
"calendar_projection_is_placeholder": true,
"packed_event_collection_present": true,
"packed_event_record_count": 1,
"packed_event_decoded_record_count": 1,
"packed_event_imported_runtime_record_count": 1,
"packed_event_parity_only_record_count": 1,
"packed_event_blocked_unmapped_world_descriptor_count": 0,
"event_runtime_record_count": 1,
"cargo_production_override_count": 1,
"world_restore_territory_access_cost": 750000,
"total_event_record_service_count": 1,
"total_trigger_dispatch_count": 1
},
"expected_state_fragment": {
"metadata": {
"save_slice.import_projection": "partial-runtime-restore-v1"
},
"cargo_production_overrides": {
"1": 125
},
"world_restore": {
"territory_access_cost": 750000
},
"packed_event_collection": {
"live_entry_ids": [41],
"records": [
{
"import_outcome": "imported"
}
]
},
"event_runtime_records": [
{
"record_id": 41,
"service_count": 1,
"effects": [
{
"kind": "set_cargo_production_slot",
"slot": 1,
"value": 125
},
{
"kind": "set_territory_access_cost",
"value": 750000
}
]
}
]
}
}

View file

@ -0,0 +1,123 @@
{
"format_version": 1,
"save_slice_id": "packed-event-world-scalar-executable-save-slice",
"source": {
"description": "Tracked save-slice document proving recovered cargo-production and territory-access-cost rows import through world scalar runtime surfaces.",
"original_save_filename": "captured-world-scalar-executable.gms",
"original_save_sha256": "world-scalar-executable-sample-sha256",
"notes": [
"tracked as JSON save-slice document rather than raw .smp",
"uses a save-slice-backed proof path because cargo-production and territory-access-cost do not require overlay-backed runtime context"
]
},
"save_slice": {
"file_extension_hint": "gms",
"container_profile_family": "rt3-classic-save-container-v1",
"mechanism_family": "classic-save-rehydrate-v1",
"mechanism_confidence": "grounded",
"trailer_family": null,
"bridge_family": null,
"profile": null,
"candidate_availability_table": null,
"named_locomotive_availability_table": null,
"special_conditions_table": null,
"event_runtime_collection": {
"source_kind": "packed-event-runtime-collection",
"mechanism_family": "classic-save-rehydrate-v1",
"mechanism_confidence": "grounded",
"container_profile_family": "rt3-classic-save-container-v1",
"metadata_tag_offset": 30976,
"records_tag_offset": 31232,
"close_tag_offset": 31744,
"packed_state_version": 1001,
"packed_state_version_hex": "0x000003e9",
"live_id_bound": 41,
"live_record_count": 1,
"live_entry_ids": [41],
"decoded_record_count": 1,
"imported_runtime_record_count": 0,
"records": [
{
"record_index": 0,
"live_entry_id": 41,
"payload_offset": 31264,
"payload_len": 112,
"decode_status": "parity_only",
"payload_family": "real_packed_v1",
"trigger_kind": 7,
"one_shot": false,
"compact_control": {
"mode_byte_0x7ef": 7,
"primary_selector_0x7f0": 0,
"grouped_mode_0x7f4": 2,
"one_shot_header_0x7f5": 0,
"modifier_flag_0x7f9": 0,
"modifier_flag_0x7fa": 0,
"grouped_target_scope_ordinals_0x7fb": [0, 0, 0, 0],
"grouped_scope_checkboxes_0x7ff": [1, 0, 0, 0],
"summary_toggle_0x800": 1,
"grouped_territory_selectors_0x80f": [-1, -1, -1, -1]
},
"text_bands": [],
"standalone_condition_row_count": 0,
"standalone_condition_rows": [],
"grouped_effect_row_counts": [2, 0, 0, 0],
"grouped_effect_rows": [
{
"group_index": 0,
"row_index": 0,
"descriptor_id": 230,
"descriptor_label": "Cargo Production Slot 1",
"target_mask_bits": 8,
"parameter_family": "cargo_production_scalar",
"opcode": 3,
"raw_scalar_value": 125,
"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 Cargo Production Slot 1 to 125",
"recovered_locomotive_id": null,
"locomotive_name": null,
"notes": []
},
{
"group_index": 0,
"row_index": 1,
"descriptor_id": 453,
"descriptor_label": "Territory Access Cost",
"target_mask_bits": 8,
"parameter_family": "territory_access_cost_scalar",
"opcode": 3,
"raw_scalar_value": 750000,
"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 Territory Access Cost to 750000",
"recovered_locomotive_id": null,
"locomotive_name": null,
"notes": []
}
],
"decoded_actions": [],
"executable_import_ready": false,
"notes": [
"world scalar override record imports without overlay-backed runtime context"
]
}
]
},
"notes": [
"world scalar executable sample"
]
}
}