{"kind":"hwanse-completion-candidate-review-summary","source":"tools/summarize_completion_candidate_review.py","status":"ready","sourceFiles":{"route":"candidate_route_progress_browser_smoke.json","deep":"candidate_deep_route_browser_smoke.json"},"boundary":"Compact browser completion review contract. It keeps only fields used by web/completion_review.html and tools/summarize_completion_audit.py; raw route/deep browser smoke payloads remain verifier outputs until their remaining active consumers are replaced.","sources":{"route":{"sourceFile":"out/candidate_route_progress_browser_smoke.json","sourceSizeBytes":1835817,"compactSizeBytes":7117,"status":"passed"},"deep":{"sourceFile":"out/candidate_deep_route_browser_smoke.json","sourceSizeBytes":1257647,"compactSizeBytes":3194,"status":"passed"}},"route":{"status":"passed","routeCompletionNotice":"map2_14j routeCompletionNotice activeId=route-complete:map2_14j beforeRouteNextText=완료 routeCompleted=1 noticeBlock=route-complete:map2_14j completionCompleted=True completionSource=prototype-route-assist-completion completionRouteCandidateCount=4 completionFieldEncounterVictoryCount=1 completionRouteCompleteCount=1 routeCompleteRecorded=True routeCompleteCount=1 routeCompleteProgress=route-complete routeCompleteAutoSource=route-complete routeCompleteSavedPayloadMap=map2_14j routeCompleteFlags=1 routeCompleteFlagCounts=route-complete:1 routeCompleteFlagKeys=story:route-complete:map2_14j:route-complete:map2_14j routeCompleteFlagSource=prototype-progress-derived-story-flags playableGate=prototype-playable-route-gate playableGateStatus=open playableGateOpen=True playableGateLabel=웹 후보 루트 완료 map2_14j originalFullGameCompletionImplemented=False menuCompletionResult=True menuActiveId=route-complete:map2_14j menuCommand=후보 완료 map2_14j progressReviewRouteComplete=True objectiveAction=route-completion-notice objectiveActiveId=route-complete:map2_14j routeGateFeedback=route-completion-feedback:후보 완료 map2_14j routeGateFeedbackRender=True routeGateSound=victory routeGateSoundSrc=../extract_wlk/12.wav routeGateSoundPlayed=True hud=map2_14j 20,12|Ataho HP 36/36|목표 후보 루트 완료 map2_14j  다음 완료 버튼으로 결과 확인|후보 map2_14j  완료  전환 진행 0/1 · 후보 진행 4/5|소지금 80  전투 0/6  진행 8  저장 있음  완료 map2_14j lines=후보 루트 완료 map2_14j|후보 진행 4|필드 전투 승리 1|웹 후보 루트 완료 게이트가 열렸습니다.|웹 프로토타입 진행 기록으로 완료된 후보 루트입니다.|원본 normal-route/story flag 실행 증명은 아직 아닙니다. runtimeRouteCompletionNotice=True originalRoutePromotionImplemented=False","routeClearGateTitleRestore":"map2_14j routeClearGateTitleRestore titleContinue=True label=이어하기 map2_14j 20,12 전투 후보 map2_14j 클리어 map2_14j titleRouteCompletionLabelHidden=True titleRouteCompletionHidden=True titleRouteClearVisible=True map=map2_14j@20,12 quickLoadText=임시 불러오기 routeGoal=map2_14j routeCompleteCount=1 routeClearCount=1 savedRouteClearCount=1 savedRouteClearFlags=2 savedRouteClearFlagCounts=route-clear:1,route-complete:1 savedRouteClearFlagKeys=story:route-clear:map2_14j:route-clear:map2_14j,story:route-complete:map2_14j:route-complete:map2_14j savedRouteClearFlagSource=prototype-progress-derived-story-flags completionRouteClearCount=1 playableGate=prototype-playable-route-gate playableGateStatus=open playableGateOpen=True completionItem=- clearItem=후보 클리어 map2_14j clearLabelCount=1 routeNextText=클리어 routeNextTitle=후보 루트 클리어 map2_14j; 전환 진행 0/1 · 후보 진행 4/5 hud=map2_14j 20,12|Ataho HP 36/36|목표 후보 루트 클리어 map2_14j  다음 클리어 요약 확인|후보 map2_14j  클리어  전환 진행 0/1 · 후보 진행 4/5|소지금 80  전투 0/6  진행 9  저장 있음  클리어 map2_14j runtimeRouteClearGateTitleRestore=True originalFullGameCompletionImplemented=False","titleRouteCompletionGate":"map2_14j titleRouteCompletionGate titleItem=후보 완료 map2_14j titleKeys=start,playStart,startEncounters,continue,routeCompletion,routeClear,loadSavedat,scanSavedat,sampleSavedat,routeAssist,routeGoal,home loaded=True opened=True activeId=route-complete:map2_14j map=map2_14j routeCompleteCount=1 payloadRouteCompleteCount=1 payloadRouteCompleteFlags=1 payloadRouteCompleteFlagCounts=route-complete:1 payloadRouteCompleteFlagKeys=story:route-complete:map2_14j:route-complete:map2_14j payloadRouteCompleteFlagSource=prototype-progress-derived-story-flags titlePayloadCount=1 playableGate=prototype-playable-route-gate playableGateStatus=open playableGateOpen=True routeCompleteAutoSource=route-complete duplicateProgress=True routeGateFeedback=route-completion-feedback:후보 완료 map2_14j routeGateFeedbackRender=True routeGateSound=victory routeGateSoundSrc=../extract_wlk/12.wav routeGateSoundPlayed=True lines=후보 루트 완료 map2_14j|후보 진행 4|필드 전투 승리 1|웹 후보 루트 완료 게이트가 열렸습니다.|웹 프로토타입 진행 기록으로 완료된 후보 루트입니다.|원본 normal-route/story flag 실행 증명은 아직 아닙니다. runtimeTitleRouteCompletionGate=True","titleRouteClearGate":"map2_14j titleRouteClearGate titleItem=후보 클리어 저장 map2_14j titleKeys=start,playStart,startEncounters,continue,routeCompletion,routeClear,loadSavedat,scanSavedat,sampleSavedat,routeAssist,routeGoal,home loaded=True opened=True activeId=route-clear:map2_14j map=map2_14j routeCompleteCount=1 routeClearCount=1 payloadRouteClearCount=1 payloadRouteClearFlags=2 payloadRouteClearFlagCounts=route-clear:1,route-complete:1 payloadRouteClearFlagKeys=story:route-clear:map2_14j:route-clear:map2_14j,story:route-complete:map2_14j:route-complete:map2_14j payloadRouteClearFlagSource=prototype-progress-derived-story-flags titlePayloadClearCount=1 titlePayloadLabel=후보 클리어 map2_14j routeClearProgress=route-clear routeClearAutoSource=route-clear duplicateProgress=False playableGate=prototype-playable-route-gate playableGateStatus=open playableGateOpen=True menuCommand=후보 클리어 map2_14j progressReviewRouteClear=True routeGateFeedback=route-clear-feedback:후보 클리어 map2_14j routeGateFeedbackRender=True routeGateSound=victory routeGateSoundSrc=../extract_wlk/12.wav routeGateSoundPlayed=True titleContinueLabel=이어하기 map2_14j 20,12 전투 후보 map2_14j 클리어 map2_14j progressReview=진행 기록 map2_14j: 9개|목표 후보 루트 클리어 map2_14j|다음 클리어 요약 확인|상태 후보 진행 4 / 필드 승리 1 / 클리어 1|스토리 상태 2개|최근 스토리 후보 완료 map2_14j route-complete:map2_14j, 후보 클리어 map2_14j route-clear:map2_14j|원본 story flag 실행 증명이 아니라 웹 프로토타입 진행 기록입니다.|종류 후보 진행 4, 전투 시작 1, 필드 전투 1, 필드 승리 1, 후보 완료 1, 후보 클리어 1|클리어 목표 map2_14j|클리어 진행 기록 9|클리어 결과 소지금 80 / 보상 약초 2|#9 후보 클리어 route-clear:map2_14j map2_14j 20,12|#8 후보 완료 route-complete:map2_14j map2_14j 20,12|#7 필드 승리 field-encounter:event-dialogue-block-010 map2_14j 20,12 money+20 약초|#6 필드 전투 event-dialogue-block-010 map2_14j 20,12|#5 전투 시작 event-dialogue-block-010 map2_14j 20,12|#4 후보 진행 map2_12h->map2_14j map2_14j 19,12|#3 후보 진행 map2_10g->map2_12h map2_12h 26,19|#2 후보 진행 map2_09g->map2_10g map2_10g 25,12 lines=후보 클리어 요약 map2_14j|후보 진행 4|필드 전투 승리 1|완료 기록 1|진행 기록 9|결과 소지금 80 / 보상 약초 2|웹 후보 클리어 저장이 고정되었습니다.|원본 full-game ending/story flag 완료는 아직 아닙니다. runtimeTitleRouteClearGate=True","sourceFile":"out/candidate_route_progress_browser_smoke.json"},"deep":{"status":"passed","target":"map5_40f","hopCount":13,"path":["map1_02b","map1_01a","map2_02d","map2_09g","map2_11g","map2_17h","map2_15j","map5_09h","map5_07h","map5_05h","map5_03h","map5_04h","map5_02h","map5_40f"],"actionCount":25,"candidateEntryCount":12,"final":"map=map5_40f@65,39 routeGoal=map5_40f routePathValue=map5_40f routeNextText=완료 routeCandidateCount=12 savedRouteCandidateCount=12 savedPayloadMap=map5_40f pathProgress=후보 완료 12/12 originalRoutePromotionImplemented=False","titleContinue":"titleContinue=True label=이어하기 map5_40f 65,39 후보 map5_40f clickOk=True map=map5_40f@65,39 quickLoadText=임시 불러오기 routeCandidateCount=12 savedRouteCandidateCount=12 pathProgress=후보 완료 12/12","fieldEncounter":"map=map5_40f started=True battleId=event-dialogue-block-010:btl_f1 battleBackground=btl_f1 fieldEncounterVictoryCount=1 completionCompleted=True autoSource=field-encounter-victory originalRoutePromotionImplemented=False originalEncounterRuntimeImplemented=False","completionTitleContinue":"titleContinue=True label=이어하기 map5_40f 66,39 전투 후보 map5_40f 완료 map5_40f clickOk=True map=map5_40f@66,39 routeCompleteCount=1 savedRouteCompleteCount=1 playableGateOpen=True","routeClearTitleContinue":"titleContinue=True label=이어하기 map5_40f 66,39 전투 후보 map5_40f 클리어 map5_40f clickOk=True map=map5_40f@66,39 routeCompleteCount=1 routeClearCount=1 savedRouteCompleteCount=1 savedRouteClearCount=1 routeNextText=클리어 playableGateOpen=True","expectedCandidateCount":12,"activationCount":25,"candidateEdges":["map1_01a->map2_02d","map2_02d->map2_09g","map2_09g->map2_11g","map2_11g->map2_17h","map2_17h->map2_15j","map2_15j->map5_09h","map5_09h->map5_07h","map5_07h->map5_05h","map5_05h->map5_03h","map5_03h->map5_04h","map5_04h->map5_02h","map5_02h->map5_40f"],"candidateEdgeCounts":{"map1_01a->map2_02d":1,"map2_02d->map2_09g":2,"map2_09g->map2_11g":3,"map2_11g->map2_17h":4,"map2_17h->map2_15j":5,"map2_15j->map5_09h":6,"map5_09h->map5_07h":7,"map5_07h->map5_05h":8,"map5_05h->map5_03h":9,"map5_03h->map5_04h":10,"map5_04h->map5_02h":11,"map5_02h->map5_40f":12},"visitedMaps":["map1_02b","map1_01a","map2_02d","map2_09g","map2_11g","map2_17h","map2_15j","map5_09h","map5_07h","map5_05h","map5_03h","map5_04h","map5_02h","map5_40f"],"completionNotice":"activeId=route-complete:map5_40f completionRouteCompleteCount=1 playableGate=prototype-playable-route-gate playableGateOpen=True playableGateLabel=웹 후보 루트 완료 map5_40f routeGateFeedback=route-completion-feedback:후보 완료 map5_40f routeGateFeedbackRender=True routeGateSound=victory routeGateSoundSrc=../extract_wlk/12.wav routeGateSoundPlayed=True","routeClearGate":"activeId=route-clear:map5_40f routeClearCount=1 completionRouteClearCount=1 payloadRouteClearCount=1 autoSource=route-clear routeGateFeedback=route-clear-feedback:후보 클리어 map5_40f routeGateFeedbackRender=True routeGateSound=victory routeGateSoundSrc=../extract_wlk/12.wav routeGateSoundPlayed=True lines=후보 클리어 요약 map5_40f / 후보 진행 12 / 필드 전투 승리 1 / 완료 기록 1","sourceFile":"out/candidate_deep_route_browser_smoke.json"}}