{"scope":"scene/event VM random gate cluster","promotionStatus":"random-gate-grounded-choice-index-rejected","summary":{"randomGateReviewImplemented":true,"choiceIndexInterpretationRejected":true,"successCounterGlobalHex":"0x0059db1f","successThresholdGlobalHex":"0x0059db1c","requiredSuccessCountGlobalHex":"0x0059db1e","targetGlobalHex":"0x0059e2a0","fallbackTargetGlobalHex":"0x0059db18","activeFlagGlobalHex":"0x00457749","branchStateGlobalHex":"0x0059e358","randFunctionHex":"0x00427730","randSeedGlobalHex":"0x004aaafc","randomGateTickHex":"0x004330e0","randomGateTickCallsiteHex":"0x00430e07","randModulo":10000,"randomGateTickCallCount":1,"randFunctionCallCount":51},"decisions":[{"item":"0x0059db1f","promotion":"reclassified-grounded","meaning":"random-gate success counter, not a user selected choice cursor","evidence":"0x004330e0 calls rand16_mod(10000), compares the result with word 0x59db1c, and increments 0x59db1f only on success."},{"item":"opcode 0x17","promotion":"grounded-handler","meaning":"random gate initializer","evidence":"stores fallback target 0x59db18, success threshold 0x59db1c, required count 0x59db1e, and resets 0x59db1f."},{"item":"opcode 0x18","promotion":"grounded-handler","meaning":"target jump when accumulated random successes reach required count","evidence":"compares 0x59db1e <= 0x59db1f, resets the counter, and jumps context+0x40 to 0x59e2a0 when active."},{"item":"selected option -> next prompt","promotion":"still-blocked","meaning":"not solved by 0x59db1f","evidence":"the counter is random-gated, so the direct user-choice producer remains elsewhere."}],"formula":{"rand16Mod":"seed = seed * 0x41c64e6d + 0x3039; result = ((seed >> 16) & 0xffff) % arg","gateTick":"if rand16_mod(10000) < threshold_0x59db1c: successCounter_0x59db1f++","op18Gate":"if required_0x59db1e <= successCounter_0x59db1f and active_0x457749 != 0: context.stream = target_0x59e2a0"},"handlers":[{"opcodeHex":"0x16","entryVaHex":"0x00440778","handlerVaHex":"0x0040ba3f","handlerBytes":"55 8b ec 53 56 57 8b 45 08 8b 40 40 8b 40 04 a3 a0 e2 59 00 8b 45 08 83 40 40 08 5f 5e 5b c9 c3 55 8b ec 53 56 57 8b 45 08 8b 40 40 33 c9 8a 48"},{"opcodeHex":"0x17","entryVaHex":"0x0044077c","handlerVaHex":"0x0040ba5f","handlerBytes":"55 8b ec 53 56 57 8b 45 08 8b 40 40 33 c9 8a 48 07 8b 45 08 8b 40 40 8b 40 08 8b 04 88 a3 18 db 59 00 8b 45 08 8b 40 40 66 8b 40 04 66 a3 1c db"},{"opcodeHex":"0x18","entryVaHex":"0x00440780","handlerVaHex":"0x0040bab2","handlerBytes":"55 8b ec 53 56 57 8b 45 08 83 40 40 04 33 c0 a0 1e db 59 00 33 c9 8a 0d 1f db 59 00 3b c1 0f 8e 0a 00 00 00 e9 4b 00 00 00 e9 46 00 00 00 c6 05"},{"opcodeHex":"0x19","entryVaHex":"0x00440784","handlerVaHex":"0x0040bb2b","handlerBytes":"55 8b ec 53 56 57 8b 45 08 83 40 40 04 83 3d 18 db 59 00 00 0f 84 26 00 00 00 8b 45 08 8b 40 40 8b 4d 08 0f bf 49 5c 8b 55 08 89 44 8a 44 8b 45"},{"opcodeHex":"0x1a","entryVaHex":"0x00440788","handlerVaHex":"0x0040bb70","handlerBytes":"55 8b ec 53 56 57 33 c0 a0 49 77 45 00 85 c0 0f 84 5b 00 00 00 8b 45 08 8b 40 40 33 c9 8a 48 01 8b 45 08 8b 40 40 8b 40 04 8b 04 88 a3 18 db 59"}],"callSites":{"randomGateTickCalls":["0x00430e07"],"randFunctionCalls":["0x004056ef","0x0040bdcc","0x0040cdcf","0x004217da","0x00421836","0x00421892","0x004218da","0x00421922","0x0042196a","0x004219a8","0x004330eb","0x00433448","0x00433463","0x004334e7","0x00433b3c","0x00433bde","0x00434190","0x0043432e","0x00434343","0x00434421","0x00434446","0x0043445b","0x00434468","0x0043456e","0x00434588","0x004345b3","0x004345c0","0x004345cf","0x004346d3","0x004346e4","0x0043471f","0x004347e9","0x004347fa","0x00434835","0x004348ba","0x004349ea","0x00434a07","0x00434b67","0x00434cf9","0x00434d23","0x00434dbb","0x00434df8","0x00434f90","0x00434fca","0x004350d3","0x0043517d","0x0043518c","0x004351ed","0x00435209","0x0043523d","0x00435795"]},"globalRefs":{"targetGlobalRefs":[{"immediateVaHex":"0x0040ba4f","nearBytes":"8b 40 04 a3 a0 e2 59 00 8b 45 08 83"},{"immediateVaHex":"0x0040bb12","nearBytes":"ff 40 5c a1 a0 e2 59 00 8b 4d 08 89"},{"immediateVaHex":"0x0040bbc7","nearBytes":"ff 40 5c a1 a0 e2 59 00 8b 4d 08 89"}],"fallbackGlobalRefs":[{"immediateVaHex":"0x0040ba7d","nearBytes":"8b 04 88 a3 18 db 59 00 8b 45 08 8b"},{"immediateVaHex":"0x0040bb3a","nearBytes":"40 04 83 3d 18 db 59 00 00 0f 84 26"},{"immediateVaHex":"0x0040bb61","nearBytes":"ff 40 5c a1 18 db 59 00 8b 4d 08 89"},{"immediateVaHex":"0x0040bb9d","nearBytes":"8b 04 88 a3 18 db 59 00 c6 05 1f db"}],"thresholdGlobalRefs":[{"immediateVaHex":"0x0040ba8d","nearBytes":"40 04 66 a3 1c db 59 00 8b 45 08 8b"},{"immediateVaHex":"0x004330fb","nearBytes":"c9 66 8b 0d 1c db 59 00 3b c1 0f 8c"}],"requiredCountGlobalRefs":[{"immediateVaHex":"0x0040ba9b","nearBytes":"8a 40 06 a2 1e db 59 00 c6 05 1f db"},{"immediateVaHex":"0x0040bac2","nearBytes":"04 33 c0 a0 1e db 59 00 33 c9 8a 0d"}],"successCountGlobalRefs":[{"immediateVaHex":"0x0040baa1","nearBytes":"59 00 c6 05 1f db 59 00 00 8b 45 08"},{"immediateVaHex":"0x0040baca","nearBytes":"33 c9 8a 0d 1f db 59 00 3b c1 0f 8e"},{"immediateVaHex":"0x0040bae2","nearBytes":"00 00 c6 05 1f db 59 00 00 33 c0 a0"},{"immediateVaHex":"0x0040bba3","nearBytes":"59 00 c6 05 1f db 59 00 00 8b 45 08"},{"immediateVaHex":"0x00433109","nearBytes":"00 00 fe 05 1f db 59 00 5f 5e 5b c9"}],"activeFlagGlobalRefs":[{"immediateVaHex":"0x0040b9bc","nearBytes":"00 33 c0 a0 49 77 45 00 85 c0 0f 84"},{"immediateVaHex":"0x0040baea","nearBytes":"00 33 c0 a0 49 77 45 00 85 c0 0f 84"},{"immediateVaHex":"0x0040bb79","nearBytes":"57 33 c0 a0 49 77 45 00 85 c0 0f 84"},{"immediateVaHex":"0x0041132b","nearBytes":"00 00 c6 05 49 77 45 00 01 c7 05 18"}],"branchStateGlobalRefs":[{"immediateVaHex":"0x0040bb1e","nearBytes":"41 40 c7 05 58 e3 59 00 00 00 00 00"},{"immediateVaHex":"0x0040bbd3","nearBytes":"41 40 c7 05 58 e3 59 00 01 00 00 00"},{"immediateVaHex":"0x0040c4e8","nearBytes":"56 57 83 3d 58 e3 59 00 00 0f 84 14"}]},"remainingGaps":["The real user selection cursor/confirm path is not proven here.","Which scene scripts use opcode 0x17/0x18 as probability gates versus display timing still needs per-scene mapping."]}