/goal <condition> in chat sets a target and keeps the turn loop running until it is met:
After each turn, a separate cheap judge model rules the condition met, not_yet, or impossible. The worker model never certifies itself; a different model holds the yardstick. The judge’s verdict is shown in the transcript, and the loop stops on met or impossible. ASTER_GOAL_MAX_TURNS caps the loop, default 20. /goal with no argument clears the current goal.