{"source":"map1_01a","target":"map2_02d","currentSelector":"2:0","currentRootHex":"0x00540714","predecessorSelector":"1:0","predecessorRootHex":"0x00478364","predecessorMaps":["map2_02d","map2_18d","map2_09g","map2_10g","map2_11g","map2_12h","map2_17h","map2_14j","map2_15j","map2_16j"],"currentMaps":["map1_01a","map2_02d","map2_18d","map2_09g","map2_10g","map2_11g","map2_12h","map2_17h","map2_14j","map2_15j","map2_16j"],"confirmedReachableFromStart":["map1_02b","map1_01a"],"confirmedEdges":[{"source":"map1_02b","target":"map1_01a","points":[{"x":11,"y":12,"spawnX":11,"spawnY":11},{"x":11,"y":13,"spawnX":11,"spawnY":11}]}],"predecessorConfirmedOverlap":[],"currentConfirmedOverlap":["map1_01a"],"sourceSidePreviousSelectors":[{"selector":"0:0","rootHex":"0x00501808","fieldMaps":["map1_01a","map1_02b"],"containsSource":true,"containsTarget":false,"confirmedOverlap":["map1_01a","map1_02b"]}],"targetSidePreviousSelectors":[{"selector":"1:0","rootHex":"0x00478364","fieldMaps":["map2_02d","map2_18d","map2_09g","map2_10g","map2_11g","map2_12h","map2_17h","map2_14j","map2_15j","map2_16j"],"containsSource":false,"containsTarget":true,"confirmedOverlap":[]}],"routePairPreviousSelectors":[],"sourceRoutePreviousSelector":"0:0","sourceRoutePreviousRootHex":"0x00501808","sourceRoutePreviousConfirmedOverlap":["map1_01a","map1_02b"],"predecessorIsTargetSideOnly":true,"samePreviousContainsRoutePair":false,"selectorMergeGapOpen":true,"selectorIndexOrderSupportsPredecessor":true,"selectorProgressSupportsPredecessor":true,"routeOrderProven":false,"proofFound":false,"predecessorRouteOrderProofFound":false,"failedPredecessorRouteOrderGateIds":["source-current-selector-merge-order","predecessor-branch-state-persistence","strict-source-hotspot"],"missingEvidence":["prove the source-side selector 0:0 can progress into 2:0 after 1:0 state is established","prove secondaryBranchState persists from predecessor fill to current reader","find strict map1_01a source coordinate or hotspot"],"remainingProofs":["prove the source-side selector 0:0 can progress into 2:0 after 1:0 state is established","prove secondaryBranchState persists from predecessor fill to current reader","find strict map1_01a source coordinate or hotspot"],"evidenceRefs":[{"path":"out/save_scene_selectors.json","fields":["selector","selectedPointerHex","fieldMaps"]},{"path":"out/save_selector_inherited_state_candidates.json","fields":["bestPrevious","currentSelector","sharedMaps","introducedMaps"]},{"path":"out/playable_progress.json","fields":["reachableFromStart","confirmedEdges"]},{"path":"out/save_selector_predecessor_route_order.json","fields":["orderEvidence","remainingProofs","routeOrderProven"]}],"evidenceRefCount":4,"promotionStatus":"blocked","orderEvidence":[{"kind":"selector-index","status":"supports-order","detail":"1:0 has a lower selector group/slot than 2:0."},{"kind":"selector-progress","status":"supports-candidate","detail":"1:0 shares 10 maps with 2:0 and 2:0 introduces map1_01a."},{"kind":"source-side-selector","status":"confirmed-route-overlap","detail":"map1_01a is carried by previous selector 0:0; confirmed overlap=map1_01a, map1_02b."},{"kind":"target-side-predecessor","status":"target-state-only","detail":"1:0 contains map2_02d=True and map1_01a=False; it is therefore separate from the confirmed source-side selector."},{"kind":"selector-merge-shape","status":"merge-gap-open","detail":"2:0 contains both map1_01a and map2_02d; previous selectors containing both route maps=0."},{"kind":"confirmed-route","status":"does-not-prove-order","detail":"confirmed route reaches map1_02b, map1_01a; it overlaps 1:0 in no maps."},{"kind":"confirmed-edge","status":"does-not-prove-order","detail":"confirmed edges are map1_02b->map1_01a; none executes 1:0 before 2:0."}],"conclusion":"1:0 remains the strongest inherited secondaryBranchState producer candidate, but it is target-side only for this route: it contains map2_02d and does not contain map1_01a. The confirmed source-side route overlaps 0:0, while 2:0 looks like a merge of source-side map1_01a and target-side map2_02d lists. The fill effect must stay blocked until save progression, a strict hotspot, or a VM/runtime trace proves that this merge path executes the predecessor state before the current reader."}