/goal <goal> puts the session in goal mode: the agent keeps taking turns toward the objective
until it completes it, hits a true blocker, or reaches a limit — instead of stopping at the end of
each reply and waiting for you.
/goal prints where the current goal stands; subcommands work directly:
A goal ends one of five ways: complete (the agent has to claim completion explicitly, and
plainly contradictory claims are rejected), blocked (a concrete blocker that recurred across
turns — not a first failed attempt), paused (you interrupted), a provider usage limit, or
your token budget. By default the loop also pauses for review after 25 goal-driven responses,
or after 3 turns in a row with no progress, so a stuck goal cannot burn tokens unattended forever.
Progress is kept;
/goal resume carries on.
The agent can also set a goal itself when you ask for one in plain words, and it can break the goal
into sub-goals with “done when” checks. It cannot mark the goal complete until each check is met
with evidence and every sub-goal is finished.
The goal lives in the session: /resume the session and the goal state comes back with it.