Stop native split retries after a legitimate completed partition

This commit is contained in:
NINI
2026-10-07 01:35:48 +09:00
parent 160b595e2f
commit dbdce3b661
+5 -1
View File
@@ -82,7 +82,11 @@ function SplitReal([int]$Stage,[int]$Selected,[string]$Name,[string]$OnlyId='')
if($null-eq$actual){$actual=$after.latestFreePlay}
if($actual.groups.Count-gt$board.groups.Count){
if(@($actual.groups|Where-Object{(($_.ballIds|Sort-Object)-join',')-eq(($ids|Sort-Object)-join',')}).Count-ne1){
$commands.Add(@{command='Actual split selected IDs differ: preserve attempt and retry through native merge/orbit';expected=$ids;actualGroups=$actual.groups;utc=[DateTime]::UtcNow.ToString('o')})
$commands.Add(@{command='Actual split selected IDs differ: preserve requested and actual memberships';expected=$ids;actualGroups=$actual.groups;utc=[DateTime]::UtcNow.ToString('o')})
if($null-eq(Board $after $Stage)){
Check "$Name-valid-actual-completed-partition-$attempt" ($after.completedStageIds-contains$Stage-and$actual.sourceStageId-eq$Stage-and(Counts $actual)-eq$targets[$Stage]-and((($actual.balls.id|Sort-Object)-join',')-eq(($board.balls.id|Sort-Object)-join','))) 'Real UI selected a different valid subset; actual goal and all IDs conserved. Requested-ID equality is not claimed.'
return $after
}
MergeReal $Stage "$Name-remerge-$attempt"|Out-Null
Orbit "$Name-retry-view-$attempt" (Board (Save "$Name-retry-state-$attempt") $Stage) -Pitch:($attempt%2-eq1)
continue