{
  "source": "map1_01a",
  "target": "map2_02d",
  "achieved": false,
  "reachableCount": 2,
  "routePromotionAllowed": false,
  "failedGateIds": [
    "strictSourceHotspot",
    "tileHotspotConfirmation",
    "realSelector20Savedata",
    "selectedRootExecution",
    "runtimeTraceOrEquivalent"
  ],
  "missingEvidence": [
    "strict source coordinate",
    "tile hotspot confirmation",
    "selected-root execution ref",
    "real selector 2:0 captured savedata",
    "runtime trace/equivalent selected-root proof"
  ],
  "hardMissingEvidence": [
    "strict source coordinate",
    "tile hotspot confirmation",
    "selected-root execution ref",
    "real selector 2:0 captured savedata",
    "runtime trace/equivalent selected-root proof"
  ],
  "nextRequiredInputs": [
    "Captured gameplay savedat with selector 2:0 and selected pointer 0x00540714 covering map1_01a -> map2_02d.",
    "Stable selected-root runtime trace or equivalent proof for selected pointer 0x0059de30 executing root 0x00540714.",
    "Strict map1_01a source coordinate or tile-hotspot proof linked to map2_02d."
  ],
  "proofTemplateUrl": "route_promotion_external_proof_template.html",
  "proofTemplateJsonUrl": "route_promotion_external_proof_template.json",
  "proofValidationUrl": "route_promotion_external_proof_validation.html",
  "proofValidationJsonUrl": "route_promotion_external_proof_validation.json",
  "proofValidationCommand": "python3 tools/validate_route_promotion_external_proof.py <submitted-proof.json>",
  "proofValidationRequireAcceptedCommand": "python3 tools/validate_route_promotion_external_proof.py <submitted-proof.json> --require-accepted",
  "proofValidationRefreshCommand": "python3 tools/refresh_savedata_route_proof.py --proof-json <submitted-proof.json> --require-accepted-proof",
  "proofPackages": [
    {
      "id": "captured-selector-2-0-savedata",
      "status": "missing",
      "primaryGate": "realSelector20Savedata",
      "supportsGates": [
        "selectedRootExecution"
      ],
      "reportUrl": null,
      "reportStatus": "parked until external savedata refresh",
      "slotScanUrl": null,
      "slotScanStatus": "parked until external savedata refresh",
      "webScanUrl": "../web/game.html?savedatScan=1",
      "intakeReadmePaths": [
        "SAVEDATA/README.md",
        "SaveData/README.md"
      ],
      "gitignoreGuardrails": [
        "SAVEDATA/*",
        "!SAVEDATA/README.md",
        "SaveData/*",
        "!SaveData/README.md"
      ],
      "refreshCommand": "python3 tools/refresh_savedata_route_proof.py --search-root <file-or-dir-or-zip>",
      "acceptedPaths": [],
      "expectedSize": null,
      "requiredBytes": [],
      "expectedSelector": "2:0",
      "expectedSelectedPointerHex": "0x00540714",
      "expectedRouteMaps": [
        "map1_01a",
        "map2_02d"
      ],
      "scanCommands": [],
      "browserChecks": [],
      "currentState": {
        "currentSelectorRealSaveCount": null,
        "selectedPointerRealSaveCount": null,
        "routePairRealSaveCount": null,
        "routeEvidenceProofFound": null,
        "requiredSelectorBytePairRealSaveCount": null,
        "publicSearchNoteCount": 0,
        "publicSearchSourceRefCount": 0,
        "syntheticDiagnosticExcluded": null,
        "localSlotScanSyntheticDiagnosticCount": null
      },
      "diagnosticExclusionPolicy": {},
      "successSignals": [
        "currentSelectorRealSaveCount > 0",
        "selectedPointerRealSaveCount > 0",
        "routePairRealSaveCount > 0",
        "routeEvidenceProofFound == true"
      ],
      "stillRequiredAfterMatch": []
    },
    {
      "id": "runtime-trace-or-equivalent-selected-root-proof",
      "status": "blocked-by-environment",
      "primaryGate": "runtimeTraceOrEquivalent",
      "supportsGates": [
        "selectedRootExecution",
        "strictSourceHotspot"
      ],
      "reportUrl": "runtime_trace_feasibility.html",
      "executionProbeUrl": "runtime_trace_execution_probe.json",
      "tracePoints": [
        {
          "name": "mode1 source write watchpoint",
          "kind": "watch-write-byte",
          "addressHex": "0x0059e348",
          "purpose": "break on any runtime producer of opcode 0x24 mode1 source before the handler reads it"
        },
        {
          "name": "opcode24 mode1 read",
          "kind": "execute-breakpoint",
          "addressHex": "0x0040c675",
          "purpose": "confirm the value consumed by opcode 0x24 mode1 on the map1_01a->map2_02d path"
        },
        {
          "name": "current blocker frontier reader",
          "kind": "execute-breakpoint",
          "addressHex": "0x00542b0c",
          "purpose": "confirm the control path reaches the branch reader and capture selectionBuffer[0x20]"
        },
        {
          "name": "gate-time context base proof",
          "kind": "execute-breakpoint",
          "addressHex": "0x005428c4",
          "purpose": "capture context+0xa8 base and gate index before the first inherited gate"
        }
      ],
      "relocatedTracePoints": [
        {
          "name": "mode1SourceWriteWatch",
          "staticVaHex": "0x0059e348",
          "runtimeVaHex": "0x002be348"
        },
        {
          "name": "opcode24Mode1Read",
          "staticVaHex": "0x0040c675",
          "runtimeVaHex": "0x0012c675"
        },
        {
          "name": "currentFrontierReader",
          "staticVaHex": "0x00542b0c",
          "runtimeVaHex": "0x00262b0c"
        },
        {
          "name": "gateTimeContextBase",
          "staticVaHex": "0x005428c4",
          "runtimeVaHex": "0x002628c4"
        }
      ],
      "runtimeTraceCanRunNow": false,
      "runtimeTraceExecutionCanCaptureNow": false,
      "blockers": [
        "WineDbg attach fails even for a notepad control process under qemu-i386",
        "WineDbg launch crashes even for a notepad control process under qemu-i386",
        "Hwanse2.exe startup crashes or exits before a useful route trace can be captured",
        "Hwanse2.exe stays alive in virtual desktop mode, but WineDbg attach/watchpoint still fails",
        "no Wine debugger path reaches a stable watchpoint-capable session",
        "QEMU gdbstub connects, but route watchpoint/breakpoint insertion is not stable"
      ],
      "rawBlockers": [
        "execution probe: WineDbg attach fails even for a notepad control process under qemu-i386",
        "execution probe: WineDbg launch crashes even for a notepad control process under qemu-i386",
        "execution probe: Hwanse2.exe startup crashes or exits before a useful route trace can be captured",
        "execution probe: Hwanse2.exe stays alive in virtual desktop mode, but WineDbg attach/watchpoint still fails",
        "execution probe: no Wine debugger path reaches a stable watchpoint-capable session",
        "execution probe: QEMU gdbstub connects, but route watchpoint/breakpoint insertion is not stable",
        "WineDbg attach fails even for a notepad control process under qemu-i386",
        "WineDbg launch crashes even for a notepad control process under qemu-i386",
        "Hwanse2.exe startup crashes or exits before a useful route trace can be captured",
        "Hwanse2.exe stays alive in virtual desktop mode, but WineDbg attach/watchpoint still fails",
        "no Wine debugger path reaches a stable watchpoint-capable session",
        "QEMU gdbstub connects, but route watchpoint/breakpoint insertion is not stable"
      ],
      "rawBlockerCount": 12,
      "dedupedBlockerCount": 6,
      "successSignals": [
        "runtime trace captures 0x0059e348 producer or 0x0040c675 read on route path",
        "runtime trace reaches 0x00542b0c frontier reader on a non-diagnostic path",
        "selected pointer 0x0059de30 becomes 0x00540714 on the normal route path"
      ]
    },
    {
      "id": "strict-source-hotspot-review",
      "status": "missing",
      "primaryGate": "strictSourceHotspot",
      "supportsGates": [
        "tileHotspotConfirmation"
      ],
      "candidateCount": 4,
      "reviewPacketUrl": "strict_source_hotspot_external_review_packet.html",
      "proofFound": false,
      "strictSourceHotspotExternalReviewProofFound": false,
      "reviewPacketBlockedIds": [
        "strict-source-coordinate",
        "tile-hotspot-confirmation",
        "strict-target-link",
        "equivalent-runtime-trigger-proof"
      ],
      "missingEvidence": [
        "strict map1_01a event/coordinate source row for map2_02d",
        "route review or tile hotspot tied to map1_01a -> map2_02d",
        "strict source-target link for map1_01a -> map2_02d",
        "equivalent runtime trigger proof replacing selector-only adjacency"
      ],
      "reviewPacketEvidenceRefCount": 19,
      "reviewPacketCandidateCount": 4,
      "reviewPacketCandidateSides": [
        "top",
        "bottom",
        "left",
        "right"
      ],
      "strictSourceHotspotProofFound": false,
      "tileHotspotConfirmed": false,
      "candidateAllBlocked": true,
      "candidateBlockReasonCounts": {
        "no map1_01a->map2_02d transition-review row": 4,
        "no strict map1_01a event transition": 4,
        "coordinate refs are non-promotable": 4,
        "variant coordinate scan found no strict source coordinate": 4,
        "tile signature matches only as geometry/tile evidence": 4
      },
      "remainingProofs": [
        "find a strict map1_01a event/coordinate source row for map2_02d",
        "confirm a route review or tile hotspot tied to this source-target pair",
        "or replace selector-only adjacency with equivalent runtime trigger proof"
      ],
      "successSignals": [
        "strictSourceHotspotProofFound == true",
        "tileHotspotConfirmed == true",
        "candidate row links map1_01a source tile to map2_02d target"
      ]
    },
    {
      "id": "selected-root-execution-proof",
      "status": "missing",
      "primaryGate": "selectedRootExecution",
      "supportsGates": [
        "runtimeTraceOrEquivalent"
      ],
      "proofPacketUrl": "selected_root_execution_external_proof_packet.html",
      "proofFound": false,
      "selectedRootExternalProofFound": false,
      "proofPacketBlockedIds": [
        "save-loader-selected-root",
        "save-selector-dispatch-table-anchor",
        "static-current-root-references",
        "selected-pointer-hook-prerequisites",
        "global-opcode-07-08-09-selected-pointer-paths",
        "current-root-writer-paths",
        "runtime-selected-pointer-probes",
        "constructed-selector-2:0-diagnostic-exclusion"
      ],
      "missingEvidence": [
        "captured gameplay savedat with save bytes 0x0002=0x02 and 0x0003=0x00",
        "runtime watchpoint/poll proof that 0x0059de30 becomes 0x00540714 on the route path",
        "static or VM control-flow proof that a non-current root selects/stores the current 2:0 root/range",
        "runtime/control-flow proof that the current stream is interpreted through the 0x00440720 save-selector slice",
        "strict map1_01a source hotspot remains required even after selector 2:0 evidence"
      ],
      "proofPacketEvidenceRefCount": 8,
      "proofPacketSubgateCount": 8,
      "proofPacketNonPromotingSubgateCount": 8,
      "proofPacketRoutePairEntryIndices": [
        6,
        8
      ],
      "proofPacketNegativeReaderEntryIndices": [
        -12
      ],
      "selectedRootExecutionRefFound": false,
      "subgateStatuses": {
        "save-loader selected root": "missing-current-selector",
        "save-selector dispatch table anchor": "static-slice-only",
        "static current-root references": "table-only-no-text-ref",
        "selected-pointer hook prerequisites": "trace-targets-prerequisites-unproven",
        "global opcode 07/08/09 selected-pointer paths": "no-non-current-producer",
        "current-root writer paths": "current-internal-only",
        "runtime selected-pointer probes": "no-real-selector-2:0-observed",
        "constructed selector 2:0 diagnostic exclusion": "diagnostic-excluded"
      },
      "remainingProofs": [
        "captured gameplay savedat with save bytes 0x0002=0x02 and 0x0003=0x00",
        "runtime watchpoint/poll proof that 0x0059de30 becomes 0x00540714 on the route path",
        "static or VM control-flow proof that a non-current root selects/stores the current 2:0 root/range",
        "runtime/control-flow proof that the current stream is interpreted through the 0x00440720 save-selector slice",
        "strict map1_01a source hotspot remains required even after selector 2:0 evidence"
      ],
      "successSignals": [
        "selectedRootExecutionRefFound == true",
        "selected root 0x00540714 is reached by normal execution, not constructed diagnostics"
      ]
    },
    {
      "id": "current-leaf-wrapper-proof",
      "status": "missing",
      "primaryGate": "selectedRootExecution",
      "supportsGates": [
        "runtimeTraceOrEquivalent"
      ],
      "proofPacketUrl": "current_leaf_wrapper_external_proof_packet.html",
      "proofFound": false,
      "currentLeafWrapperExternalProofFound": false,
      "proofPacketBlockedIds": [
        "selected-root-execution",
        "current-leaf-selection",
        "wrapper-execution",
        "current-selector-leaf-execution",
        "strict-hotspot"
      ],
      "failedCurrentLeafWrapperExternalGateIds": [
        "selected-root-execution",
        "current-leaf-selection",
        "wrapper-execution",
        "current-selector-leaf-execution",
        "strict-hotspot"
      ],
      "missingEvidence": [
        "selected-root execution reaching current selector 2:0 on the normal route path",
        "higher-level table/index path selecting current entries 6/8 or negative entry -12",
        "normal-route wrapper 0x00542a04 execution into frontier leaf 0x00542ae8",
        "complete current selector leaf execution proof tying selected root, leaf selection, and wrapper/reader trace",
        "strict map1_01a source coordinate or hotspot linked to map2_02d"
      ],
      "currentSelector": "2:0",
      "currentRootHex": "0x00540714",
      "rootTablePointerHex": "0x005429dc",
      "wrapperEntryHex": "0x005429ac",
      "wrapperDescriptorHex": "0x00542a04",
      "wrapperChildPointerHex": "0x00542ae8",
      "frontierLeafHex": "0x00542ae8",
      "frontierReaderHex": "0x00542b0c",
      "routePairEntryIndices": [
        6,
        8
      ],
      "routePairCorrectedTraceEntryIndices": [
        6,
        8
      ],
      "negativeReaderEntryIndices": [
        -12
      ],
      "correctedTraceReachesReaderCount": 2,
      "correctedTraceAllRoutePairDescriptorsReachReader": true,
      "frontierReaderSelectableByNonNegativeIndex": false,
      "frontierReaderReachableByCorrectedNonNegativeIndex": true,
      "correctedTraceNormalSelectionGapStatus": "corrected-trace-not-normal-selection-proof",
      "routePairEntryExecutionProven": false,
      "routePairIndexSourceProofFound": false,
      "wrapperExecutionProofFound": false,
      "currentLeafSelectionProofFound": false,
      "currentSelectorLeafExecutionProofFound": false,
      "rootTableWindowDirectRefCount": 14,
      "rootTableWindowDirectTextRefCount": 0,
      "routePairIndexSourceDirectPointerRefPromotesRoute": false,
      "diagnosticWrapperProofStatus": "diagnostic-only-not-reproduced",
      "diagnosticLeftStabilityRouteSelectorHitCount": 125,
      "diagnosticLeftStabilityRecheckRouteSelectorHitCount": 0,
      "proofPacketEvidenceRefCount": 11,
      "successSignals": [
        "normal selected-root execution reaches selector 2:0/current root 0x00540714",
        "route-pair entries 6/8 or wrapper -12 are selected by a higher-level index source",
        "wrapper 0x00542a04 executes into frontier leaf 0x00542ae8 before reader 0x00542b0c"
      ]
    },
    {
      "id": "predecessor-fill-order-proof",
      "status": "missing",
      "primaryGate": "selectedRootExecution",
      "supportsGates": [
        "runtimeTraceOrEquivalent"
      ],
      "proofPacketUrl": "predecessor_fill_external_proof_packet.html",
      "proofPacketBlockedIds": [
        "localFillStreamReachesCurrentReader",
        "rootEntryFixedTraversalReachesFillSites",
        "fillFragmentEntryCandidateFound",
        "encodedFillEntryControlFlowCandidateFound",
        "rootTailBranchClosureReachesFillOrReader",
        "descriptorSliceRuntimeDispatchProven",
        "rawGenericRouteProofFound",
        "runtimeObservedPredecessorFill",
        "predecessorToCurrentForwardBridgeFound",
        "routeOrderAndSelectorMergeClosed"
      ],
      "missingEvidence": [
        "local predecessor fill stream reaches current reader 0x00542b0c",
        "fixed traversal from predecessor root entry reaches 0x004844d0/0x004844d8",
        "direct or branch-backed entry into the fill fragment",
        "encoded fill-entry scalar attached to modeled control flow",
        "root-tail branch closure reaches the fill fragment or current reader",
        "runtime dispatch proof for save-selector slice descriptor boundaries",
        "raw generic handler or call-graph route/fill/current proof",
        "runtime observation of predecessor fill branch-state values",
        "predecessor-to-current forward execution bridge",
        "route-order proof with selector merge closure"
      ],
      "proofPacketGatePassCount": 0,
      "proofPacketGateBlockedCount": 10,
      "proofPacketAllBlocked": true,
      "proofPacketEvidenceRefCount": 6,
      "predecessorSelector": "1:0",
      "currentSelector": "2:0",
      "fillSites": [
        "0x004844d0",
        "0x004844d8"
      ],
      "currentReaderHex": "0x00542b0c",
      "proofFound": false,
      "predecessorFillExternalProofFound": false,
      "runtimePredecessorFillObserved": false,
      "runtimeObservationSummary": {
        "classification": "public-predecessor-reached-fill-not-observed",
        "pollCount": 8,
        "sequenceCount": 30,
        "sampleCount": 46919,
        "publicPredecessorHitCount": 6,
        "currentRootHitCount": 0,
        "routeSelectorHitCount": 0,
        "allZeroCount": 8,
        "fillMatchCount": 0,
        "movementOrTargetCount": 1,
        "movementOrTargetSampleCount": 10928,
        "targetObservationCount": 0,
        "targetObservationSampleCount": 0,
        "targetObservationFillMatchCount": 0,
        "targetObservationCurrentRootHitCount": 0,
        "targetObservationRouteSelectorHitCount": 0,
        "targetObservationStatus": "target-not-observed",
        "observedStateHexes": [
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00"
        ],
        "expectedFillHexes": [
          "0x01",
          "0x01",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00",
          "0x00"
        ],
        "observedMatchesFill": false,
        "observedAllZero": true,
        "activeSelectionFlagHex": "0x01",
        "staticResetScopeClosed": true,
        "selectorOrderResetGapClosed": true,
        "acceptedSignalCount": 0,
        "acceptedSignalPresent": false,
        "nextProofFocus": "fill-site execution/order before current reader",
        "nonPromotingReason": "public predecessor selector is observed, but branch-state values stay all-zero and never match the predecessor fill hypothesis before the current reader"
      },
      "successSignals": [
        "normal runtime observes predecessor fill before current reader",
        "save-selector slice dispatch is proven at the predecessor descriptor boundary",
        "selector merge/order closes on a non-diagnostic path"
      ]
    },
    {
      "id": "selector-merge-proof",
      "status": "missing",
      "primaryGate": "selectedRootExecution",
      "supportsGates": [
        "runtimeTraceOrEquivalent"
      ],
      "proofPacketUrl": "selector_merge_external_proof_packet.html",
      "proofFound": false,
      "selectorMergeExternalProofFound": false,
      "proofPacketBlockedIds": [
        "selector-merge-execution-proof",
        "selected-root-runtime-execution",
        "predecessor-fill-route-order-proof",
        "strict-source-hotspot"
      ],
      "failedSelectorMergeExternalGateIds": [
        "selector-merge-execution-proof",
        "selected-root-runtime-execution",
        "predecessor-fill-route-order-proof",
        "strict-source-hotspot"
      ],
      "missingEvidence": [
        "source/predecessor forward bridge or execution-like selector merge bridge into selector 2:0",
        "real selected-root runtime execution for 0x00540714",
        "observed predecessor opcode 0x10 fill context and route-order proof",
        "strict map1_01a source coordinate or tile hotspot evidence"
      ],
      "currentEqualsPredecessorPlusSource": true,
      "sourcePredecessorUnionCoversCurrent": true,
      "sourcePredecessorUnionExtraMaps": [
        "map1_02b"
      ],
      "mergeShapeOnly": true,
      "selectorMergeGapOpen": true,
      "routeOrderProven": false,
      "sourceToCurrentBridgeHitCount": 0,
      "predecessorToCurrentHitCount": 0,
      "forwardMergeBridgeHitCount": 0,
      "currentToPredecessorBeforeFillHitCount": 51,
      "currentPredecessorHitsBeforeFillOnly": true,
      "selectorMergeExecutionProofFound": false,
      "selectorMergeRuntimeProofFound": false,
      "selectorMergeClosureProofFound": false,
      "proofPacketEvidenceRefCount": 10,
      "successSignals": [
        "source/current VM control-flow bridge into selector 2:0 is observed",
        "predecessor/current forward bridge or execution-like merge bridge is observed",
        "selector 2:0 selected-root execution is proven on a non-diagnostic path"
      ]
    },
    {
      "id": "opcode20-gate-base-proof",
      "status": "missing",
      "primaryGate": "selectedRootExecution",
      "supportsGates": [
        "runtimeTraceOrEquivalent"
      ],
      "proofPacketUrl": "opcode20_gate_base_external_proof_packet.html",
      "proofFound": false,
      "opcode20GateBaseExternalProofFound": false,
      "proofPacketBlockedIds": [
        "opcode20-runtime-base-path",
        "predecessor-state-persistence",
        "strict-source-hotspot"
      ],
      "failedOpcode20GateBaseExternalGateIds": [
        "opcode20-runtime-base-path",
        "predecessor-state-persistence",
        "strict-source-hotspot"
      ],
      "missingEvidence": [
        "prove opcode 0x20 runtime descriptor/base path before 0x005428c4; active order alone is insufficient",
        "prove predecessor 1:0 state persistence into current 2:0",
        "find strict map1_01a source hotspot or equivalent non-coordinate trigger"
      ],
      "currentWriterVaHex": "0x005428bc",
      "firstGateVaHex": "0x005428c4",
      "secondGateVaHex": "0x005428cc",
      "opcode20CandidateVaHex": "0x005428a8",
      "opcode20CurrentMode": "mode 0",
      "gateWindowOnlyOpcode20BaseCandidate": true,
      "activeOrderProofFound": false,
      "gateTimeBaseProofFound": false,
      "activeOrderOnlyProofEliminated": true,
      "descriptorAllScriptSpecificGateBaseProven": false,
      "descriptorAllScriptSelectionOpcodeCount": 362,
      "contextF2SpecificRuntimeObjectPointerProven": false,
      "contextF2RuntimeObjectTableStateRequired": true,
      "diagnosticActiveOrderSampleCount": 210,
      "publicPredecessorActiveOrderSampleCount": 1689,
      "proofPacketEvidenceRefCount": 19,
      "successSignals": [
        "opcode 0x20 route-path runtime descriptor/base is proven before the gate",
        "normal selector 2:0 active order/count or equivalent runtime trace is captured",
        "context+0xa8 base at 0x005428c4/0x005428cc is proven on the route path"
      ]
    },
    {
      "id": "opcode24-runtime-producer-proof",
      "status": "blocked-by-environment",
      "primaryGate": "runtimeTraceOrEquivalent",
      "supportsGates": [
        "selectedRootExecution",
        "strictSourceHotspot"
      ],
      "proofPacketUrl": "opcode24_runtime_producer_external_proof_packet.html",
      "mode1SourceHex": "0x0059e348",
      "mode1ReadVaHex": "0x0040c675",
      "opcode24BoundaryVaHex": "0x005428e4",
      "proofFound": false,
      "proofPacketBlockedIds": [
        "indirect-runtime-producer",
        "opcode24-route-stream-selection",
        "strict-hotspot"
      ],
      "missingEvidence": [
        "indirect runtime producer of 0x0059e348 on a normal route path",
        "opcode 0x24 mode 1 object+0x61 writes select a current-route stream",
        "strict map1_01a source coordinate or non-coordinate trigger"
      ],
      "runtimeClassification": "runtime-flag-nonroute-mode1-zero",
      "mode1SourceNonzeroObserved": false,
      "canRunRuntimeTraceNow": false,
      "canCaptureTraceNow": false,
      "successSignals": [
        "watchpoint captures a write to 0x0059e348 on the normal route path",
        "breakpoint at 0x0040c675 observes a route-backed mode1 value",
        "runtime flag and selected-root proof line up on the same non-diagnostic path"
      ]
    }
  ],
  "externalInputChecklist": [
    {
      "id": "real-selector-2-0-save",
      "neededInput": "captured gameplay SaveData/savedatN.dat or savedatN.zip",
      "currentState": "realSelector2:0=None; selectedPointer=None; routePair=None",
      "acceptedSignal": "1274-byte save with 0x0002=0x02, 0x0003=0x00, selected pointer 0x00540714, and routeEvidenceProofFound == true",
      "refresh": "python3 tools/refresh_savedata_route_proof.py --search-root <file-or-dir-or-zip>"
    },
    {
      "id": "normal-route-runtime-trace",
      "neededInput": "runtime trace or equivalent selected-root proof from a stable debugger/VM",
      "currentState": "canRunRuntimeTraceNow=False; canCaptureTraceNow=False",
      "acceptedSignal": "0x0059de30 becomes 0x00540714, or 0x00542b0c / 0x0040c675 is observed on a non-diagnostic route path",
      "refresh": "python3 tools/summarize_selected_root_execution_external_proof_packet.py"
    },
    {
      "id": "strict-source-hotspot",
      "neededInput": "strict map1_01a source coordinate/event row or manual review tied to map2_02d",
      "currentState": "candidates=4; proofFound=False; tileHotspotConfirmed=False",
      "acceptedSignal": "strictSourceHotspotProofFound == true and tileHotspotConfirmed == true for the same map1_01a -> map2_02d candidate",
      "refresh": "python3 tools/summarize_strict_source_hotspot_external_review_packet.py"
    }
  ],
  "notAcceptedEvidence": [
    "out/synthetic_savedat_selector_2_0.dat is constructed diagnostic data, not captured gameplay savedata",
    "out/runtime_patched_public_savedat_selector_2_0*.dat files are generated patched diagnostics, not captured gameplay savedata",
    "public editor/remaster pages are source refs only; they do not contain original selector 2:0 savedata",
    "patched selector/runtime diagnostic polls are non-promoting unless reproduced by real captured state"
  ],
  "regenerateAndVerifyCommands": [
    "python3 tools/refresh_savedata_route_proof.py --search-root <file-or-dir-or-zip>",
    "python3 tools/scan_savedata_slots.py --search-root <file-or-dir-or-zip>",
    "python3 tools/summarize_save_selector_real_savedata_evidence_gap.py --search-root <file-or-dir-or-zip>",
    "python3 tools/summarize_route_investigation_queue.py",
    "python3 tools/summarize_route_promotion_gate.py",
    "python3 tools/summarize_strict_source_hotspot_external_review_packet.py",
    "python3 tools/summarize_selected_root_execution_external_proof_packet.py",
    "python3 tools/summarize_current_leaf_wrapper_external_proof_packet.py",
    "python3 tools/summarize_predecessor_fill_external_proof_packet.py",
    "python3 tools/summarize_selector_merge_external_proof_packet.py",
    "python3 tools/summarize_opcode20_gate_base_external_proof_packet.py",
    "python3 tools/summarize_opcode24_runtime_producer_external_proof_packet.py",
    "python3 tools/summarize_completion_audit.py",
    "python3 tools/summarize_route_blocker_evidence_matrix.py",
    "python3 tools/summarize_route_promotion_external_proof_handoff.py",
    "python3 tools/validate_route_promotion_external_proof.py",
    "python3 tools/verify_route_promotion_external_proof_validator.py",
    "python3 tools/summarize_goal_completion_checklist.py",
    "python3 tools/verify_web_assets.py"
  ],
  "verificationChecklist": [
    {
      "requirement": "normal route can promote map1_01a -> map2_02d",
      "currentEvidence": "out/route_promotion_gate.json",
      "requiredSignal": "routePromotionAllowed == true",
      "currentStatus": "missing"
    },
    {
      "requirement": "completion audit accepts the goal",
      "currentEvidence": "out/completion_audit.json",
      "requiredSignal": "achieved == true",
      "currentStatus": "missing"
    },
    {
      "requirement": "captured selector 2:0 savedata is present",
      "currentEvidence": "out/save_selector_real_savedata_evidence_gap.json",
      "requiredSignal": "routeEvidenceProofFound == true",
      "currentStatus": "missing"
    },
    {
      "requirement": "runtime trace or selected-root equivalent proof exists",
      "currentEvidence": "out/runtime_trace_feasibility.json; out/save_selector_selected_root_execution_gap.json",
      "requiredSignal": "runtime trace/equivalent selected-root proof",
      "currentStatus": "missing"
    },
    {
      "requirement": "strict source hotspot and tile hotspot are confirmed",
      "currentEvidence": "out/map1_01a_strict_source_hotspot_context.json",
      "requiredSignal": "strictSourceHotspotProofFound == true and tileHotspotConfirmed == true",
      "currentStatus": "missing"
    }
  ],
  "promotionStatus": "blocked",
  "conclusion": "The route remains blocked until a real selector 2:0 savedata sample, a stable runtime trace/equivalent selected-root proof, and strict source/tile hotspot proof are available."
}
