95c7e9a0cb
Port from QwenLM/qwen-code#11723: attaching the configured zone to croniter's naive wall-clock result resolves the repeated autumn hour to its earlier occurrence (fold=0), so a base inside the second occurrence received a next_run_at up to an hour in the past — the fire path would treat it as due immediately and loop. Try both folds of each candidate and return the earliest instant strictly after the base; wall-clock jobs still fire exactly once on the repeated hour (Vixie cron semantics).