{"source":"map1_01a","target":"map2_02d","currentFrontierSelector":"2:0","countRuntimeVaHex":"0x004576e8","orderBytesVaHex":"0x004576e9","slotBaseHex":"0x00457750","materializers":[{"name":"add active save/object slot","functionStartVaHex":"0x00431fe8","coreLabelVaHex":"0x0043215c","generalOpcodeHex":"0x62","generalHandlerVaHex":"0x00407cc1","directCallTargetVaHex":"0x00431fe8","coreWrites":["0x00432167 writes 0x004576e9[count]","0x00432188 writes 0x0059db30[count]","0x0043218f increments 0x004576e8","0x004321cd writes slot descriptor pointer"],"meaning":"Called by the general-table opcode 0x62 handler with stream+1 as the descriptor id.","relativeCallRefs":[{"callVaHex":"0x00407cd1","targetVaHex":"0x00431fe8"}],"relativeCallRefCount":1},{"name":"rebuild active slot descriptors","functionStartVaHex":"0x00432323","coreLabelVaHex":"0x00432323","generalOpcodeHex":null,"generalHandlerVaHex":null,"directCallTargetVaHex":"0x00432323","coreWrites":["0x004323ba writes 0x0059db30[index]","0x004323dd writes slot descriptor pointer"],"meaning":"Called after save blocks are loaded to materialize descriptor pointers from saved count/order bytes.","relativeCallRefs":[{"callVaHex":"0x0042349c","targetVaHex":"0x00432323"}],"relativeCallRefCount":1},{"name":"remove/rebuild active slot descriptors","functionStartVaHex":"0x00432541","coreLabelVaHex":"0x00432541","generalOpcodeHex":"0x63","generalHandlerVaHex":"0x00407ce5","directCallTargetVaHex":"0x00432541","coreWrites":["0x004326a3 compacts 0x004576e9 order bytes","0x004326b6 compacts 0x0059db30 slot bases","0x004326c2 decrements 0x004576e8","0x0043271f writes slot descriptor pointer"],"meaning":"Called by the general-table opcode 0x63 handler with stream+1 as the descriptor id to remove.","relativeCallRefs":[{"callVaHex":"0x00407cf5","targetVaHex":"0x00432541"}],"relativeCallRefCount":1}],"loadRebuildEvidence":{"saveReadCallVaHexes":["0x00423404","0x00423430","0x0042345c"],"lastSaveReadCallVaHex":"0x0042345c","rebuildCallVaHex":"0x0042349c","rebuildFunctionVaHex":"0x00432323","selectorGroupLoadVaHex":"0x004234a3","selectedPointerStoreVaHex":"0x004234ba","rebuildAfterSaveReadBlocks":true,"rebuildBeforeSelectorPointerSelection":true,"meaning":"The save-load path reads the count/order and slot blocks, calls 0x00432323, then selects the save selector pointer from 0x004576da/0x004576db."},"handlerTables":{"generalHandlerTableVaHex":"0x00440538","saveSelectorHandlerTableVaHex":"0x00440720","generalMutationHandlers":[{"opcode":98,"opcodeHex":"0x62","entryVaHex":"0x004406c0","handlerVaHex":"0x00407cc1","handlerSection":".text","mutationRole":"add active slot"},{"opcode":99,"opcodeHex":"0x63","entryVaHex":"0x004406c4","handlerVaHex":"0x00407ce5","handlerSection":".text","mutationRole":"remove active slot"}],"saveSelectorSameLowByteHandlers":[{"opcode":98,"opcodeHex":"0x62","entryVaHex":"0x004408a8","handlerVaHex":"0x0040239f","handlerSection":".text","mutationRole":"not an active-order materializer in the save-selector table"},{"opcode":99,"opcodeHex":"0x63","entryVaHex":"0x004408ac","handlerVaHex":"0x0041004f","handlerSection":".text","mutationRole":"not an active-order materializer in the save-selector table"}]},"currentRouteSameLowByteRows":[{"streamKind":"leaf","streamVaHex":"0x00542ac0","wordIndex":17,"wordVaHex":"0x00542b04","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ac0","wordIndex":46,"wordVaHex":"0x00542b78","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ac0","wordIndex":72,"wordVaHex":"0x00542be0","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"nested","streamVaHex":"0x00542e10","wordIndex":7,"wordVaHex":"0x00542e2c","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ad4","wordIndex":12,"wordVaHex":"0x00542b04","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ad4","wordIndex":41,"wordVaHex":"0x00542b78","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ad4","wordIndex":67,"wordVaHex":"0x00542be0","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"nested","streamVaHex":"0x00542e48","wordIndex":7,"wordVaHex":"0x00542e64","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ae8","wordIndex":7,"wordVaHex":"0x00542b04","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ae8","wordIndex":36,"wordVaHex":"0x00542b78","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"},{"streamKind":"leaf","streamVaHex":"0x00542ae8","wordIndex":62,"wordVaHex":"0x00542be0","valueHex":"0x0053f463","lowByteHex":"0x63","valueKind":"cns","cns":"face_01.cns","saveSelectorHandlerVaHex":"0x0041004f","generalHandlerVaHex":"0x00407ce5","isGeneralMutationInThisStream":false,"reason":"current route leaf/nested rows are decoded through the save-selector table, not the general nested-object table"}],"currentRouteSameLowByteRowCount":11,"currentRouteGeneralMutationEvidenceCount":0,"descriptorScriptMutationRows":[],"descriptorScriptMutationRowCount":0,"descriptorScriptScanDwordCount":96,"sampleOrderSummary":{"sampleCount":0,"uniqueSampleSignatures":[],"sampleActiveDescriptorSets":[],"currentFrontierSelector":"2:0","currentFrontierSampleCovered":false},"opcode20SelfMutationPathEliminated":true,"currentFrontierActiveOrderProven":false,"controlPathProofStatus":"blocked","proofFound":false,"opcode20RuntimeMaterializerProofFound":false,"failedOpcode20RuntimeMaterializerGateIds":["current-selector-2-0-active-order","selected-root-runtime-materializer-execution","normal-route-descriptor-mutation-observation","route-promotion-proof"],"missingEvidence":["current selector 2:0 active order/count from public or captured save data","selected-root runtime execution through save-load rebuild or materializer path","normal-route observation tying materialized active descriptor order to opcode 0x20 descriptor scripts","route-promotion proof linking active order/materializers to map1_01a -> map2_02d"],"evidenceRefs":[{"path":"Hwanse2.exe","description":"active slot materializer routines and handler table references"},{"path":"out/save_loader_trace.json","description":"save-load block reads and rebuild-call ordering"},{"path":"out/save_selector_opcode20_descriptor_scripts.json","description":"descriptor script mutation scan and opcode 0x20 self-mutation elimination"},{"path":"out/save_selector_opcode20_sample_order_effects.json","description":"public sample active-order coverage gap"},{"path":"out/save_selector_leaf_streams.json","description":"current selector leaf low-byte rows decoded through the save-selector table"}],"evidenceRefCount":5,"promotionStatus":"blocked","conclusion":"The active order/count path is now separated from the save-selector stream. Save load materializes descriptor pointers by calling 0x00432323 after the save blocks are read and before the selector pointer is chosen. Later add/remove mutations are general nested-script opcodes 0x62/0x63 through table 0x00440538. The current selector 2:0 leaf rows with low byte 0x63 are CNS/resource words decoded through the save-selector table, not the general remove handler, and the scanned opcode 0x20 descriptor scripts contain no general 0x62/0x63 rows. This removes an opcode 0x20 self-mutation path, but it still does not prove the current selector 2:0 active order because public samples cover selectors 0:0, 1:0, and 22:0 only."}