{"kind":"hwanse-scene-event-vm-route-boundary-review","status":"consumers-grounded-route-root-unproven","source":["out/scene_event_text_consumer_trace_review.json","out/selected_scene_text_root_consumer_review.json","out/scene_event_vm_command_stream_candidates.json","out/scene_event_vm_choice_target_review.json","out/scene_seq_resource_record_link_review.json","out/scene_event_vm_execution_route_review.json","out/scene_event_vm_prompt_sequence_review.json","out/scene_event_vm_branch_flag_review.json","out/scene_event_conditional_map_route_review.json","out/scene_event_coordinate_semantics_review.json","out/save_selector_opcode08_activation_windows.json","out/save_selector_merge_bridge_matrix.json","out/selector_root_preentry_ref_review.json","out/strict_event_source_coverage.json","out/runtime_trace_feasibility.json","tools/build_scene_event_vm_route_boundary_review.py"],"summary":{"surfaceCount":13,"groundedConsumerOrReviewCount":4,"blockedRouteSurfaceCount":11,"directSceneCommandRootProven":false,"textConsumerProofFound":true,"selectedRootConsumerVerified":true,"choiceHandlersGrounded":true,"commandStreamCandidatesFound":true,"opcode08ActivationPromotesRoute":false,"selectorMergeProofFound":false,"preEntryProducerProofFound":false,"strictEventPromotionAllowed":false,"runtimeRouteProofFound":false,"decision":"프롬프트/선택지/selected-root consumer와 command-like storage는 충분히 분리됐지만, selector 2:0 실행 bridge, strict source hotspot, runtime watchpoint가 모두 막혀 있어 특정 맵/씬 root가 특정 command stream을 실행한다는 직접 producer 증거는 아직 없다."},"surfaces":[{"surface":"prompt render/source consumer","promotion":"confirmed-consumer / route-unbound","artifact":"scene_event_text_consumer_trace_review.json","finding":"textConsumerProofFound=True; opcode0bRenderCommandCount=37; rootRefCount=1.","gap":"routeTextBindingProofFound=False; 특정 scene/map root가 이 prompt list를 실행한다는 producer 증거가 없다."},{"surface":"selected text root global consumer","promotion":"confirmed-consumer / producer-missing","artifact":"selected_scene_text_root_consumer_review.json","finding":"selectedPointerGlobal=0x0059de30; consumerHandler=0x0040adc9; consumerVerified=True.","gap":"directExecutionRootFound=False; routeBridgeProofFound=False."},{"surface":"opcode 0x08 activation producer windows","promotion":"negative-static-proof / route-unpromoted","artifact":"save_selector_opcode08_activation_windows.json","finding":"activators=162; current-root producers=0; current-range producers=0; own-range=24; script-scalar=107; unreadable=31.","gap":"opcode08ActivationPromotesRoute=False; source/predecessor 0x08 활성화 직전 창에서 selector 2:0 root/range producer가 없다."},{"surface":"selector merge bridge matrix","promotion":"negative-static-proof / merge-unproven","artifact":"save_selector_merge_bridge_matrix.json","finding":"source->predecessor=0; source->current=0; predecessor->current=0; current->predecessor=51; forward merge=0.","gap":"selectorMergeProofStatus=blocked; proofFound=False. 역방향 reuse는 있지만 source/predecessor에서 current 2:0으로 가는 실행 bridge가 없다."},{"surface":"selector root pre-entry references","promotion":"negative-static-proof / preentry-producer-missing","artifact":"selector_root_preentry_ref_review.json","finding":"selectorTableOnlyRootRefCount=4; exactSelfWriterRefCount=0; source/predecessor current-range refs=0; address-predecessor refs=75.","gap":"preEntryProducerProofFound=False; addressPredecessorBridgeRouteExecutionProofFound=False. selector-table membership과 주소 인접성은 route 실행 증거가 아니다."},{"surface":"scene/event command stream candidates","promotion":"candidate-streams / route-unlinked","artifact":"scene_event_vm_command_stream_candidates.json","finding":"commandBlockCount=47; dialogueLikeBlockCount=43; textSourceCommandCount=3265; mapLinkedCommandBlockCount=7.","gap":"routeLinkedCommandBlockCount=0; fullSceneCommandListProofFound=False."},{"surface":"choice target / branch handlers","promotion":"confirmed-handlers / branch-instance-unlinked","artifact":"scene_event_vm_choice_target_review.json","finding":"commonStream=0x004bfdb4; opcode16Handler=0x0040ba3f; opcode18Handler=0x0040bab2; choiceTargetGlobal=None.","gap":"choiceBranchProofFound=False; selectionToNextPromptProofFound=False."},{"surface":"scene sequence / resource manifest relation","promotion":"candidate-link / same-root-unproven","artifact":"scene_seq_resource_record_link_review.json","finding":"groupCount=40; sequenceCount=64; selectorRootWithManifestRecordCount=24; manifestRecordLinkedGroupCount=27.","gap":"directSameEventRootProofFound=False; directEventRootProofFound=False."},{"surface":"map transition payload / coordinate semantics","promotion":"payload-candidate / coordinate-condition-unverified","artifact":"scene_event_vm_command_stream_candidates.json + scene_event_coordinate_semantics_review.json","finding":"transitionPayloadRecordCount=11; coordinateSummary=unknown; conditionalRouteStatus=unknown.","gap":"mapTransitionCommandOpcodeProofFound=False; 좌표가 trigger/spawn/object/camera 중 무엇인지 record 단위로 아직 분리 중이다."},{"surface":"map1 execution route probe","promotion":"partial-route / direct-root-missing","artifact":"scene_event_vm_execution_route_review.json","finding":"map1PromptCommandRows=160; map1CommandGroundedRows=24; selectorAdjacencyOccurrenceCount=3.","gap":"directExecutionRootFound=False; routeRootRefProofFound=False; routeSelectorRootTextRefsFound=False."},{"surface":"prompt grouping / sequence UI","promotion":"review-usable / route-order-unproven","artifact":"scene_event_vm_prompt_sequence_review.json","finding":"promptSequenceStatus=unknown; branchFlagStatus=unknown.","gap":"인게임처럼 출력 가능한 단위는 만들 수 있지만, 모든 순서/분기/호출 source가 확정된 것은 아니다."},{"surface":"strict event source coverage","promotion":"negative-coverage / source-hotspot-missing","artifact":"strict_event_source_coverage.json","finding":"fieldMapCount=174; strictEventRecordCount=11; strictEventSourceMapCount=7; strictEventSourceCoveragePercent=4.02.","gap":"promotionAllowed=False; map1_01a는 extracted strict event source가 아니므로 수동 출구/scene adjacency를 transition proof로 승격하지 않는다."},{"surface":"runtime feasibility / external proof gate","promotion":"blocked-runtime-gate / no-static-substitute","artifact":"runtime_trace_feasibility.json","finding":"proofFound=False; canRunRuntimeTraceNow=False; evidenceRefCount=21; promotionStatus=blocked.","gap":"정적 bridge가 없고 WineDbg/watchpoint 경로도 현재 VM에서 막혀 있다. real selector 2:0 save, route watchpoint, strict source hotspot 중 하나가 필요하다."}],"nextFrontier":["source/predecessor selector에서 current selector 2:0으로 이어지는 새 bridge 가설이 생길 때만 save_selector 계열 정적 스캔을 재개한다.","map1_01a strict source hotspot 또는 tile-confirmed trigger proof가 생기면 route promotion gate를 다시 평가한다.","정적 증거가 막히면 Wine runtime에서 prompt 출력 직전 selected pointer/global write(0x0040adfe)만 좁게 trace한다.","real gameplay savedata가 selector 2:0을 담는 경우 save/load 복원 경로는 즉시 route proof 후보가 된다."]}