def working_position_label(ss_idx: int, num_supersets: int) -> str: """Return early/middle/late position label for a working superset index.""" if num_supersets <= 1 or ss_idx == 0: return 'early' if ss_idx >= num_supersets - 1: return 'late' return 'middle' def merge_pattern_preferences(position_patterns, rule_patterns): """Combine positional and structure-rule pattern preferences.""" if rule_patterns and position_patterns: overlap = [p for p in position_patterns if p in rule_patterns] return overlap or rule_patterns[:3] if rule_patterns: return rule_patterns[:3] return position_patterns def rotated_muscle_subset(target_muscles: list[str], ss_idx: int) -> list[str]: """Rotate target muscle emphasis between supersets.""" if len(target_muscles) <= 1: return target_muscles start = ss_idx % len(target_muscles) return target_muscles[start:] + target_muscles[:start]