Goal

Goal is for long tasks that need multiple turns. A normal conversation is usually one request and one answer. A Goal stores your objective as a long-running task anchor in the current session, then lets Axiomate judge after each turn whether the goal is complete. If not, it can keep going until the goal is done, paused, or the turn budget is exhausted.

Use Goal when:

  • The task needs repeated editing, validation, and follow-up changes.
  • You are worried the AI may forget the original objective during a long task.
  • You want to add constraints midway without restarting.
  • You want the task state to survive /resume.

Avoid Goal when:

  • You only have a question or a small one-turn change.
  • The objective is vague, such as “make this project better”.
  • You do not want Axiomate to continue across multiple turns automatically.

Set a Goal

Inside a conversation, run:

/goal improve login page error messages and pass the related tests

Axiomate writes this objective into the current session state. After each turn, Goal checks whether the current result satisfies the objective:

  • Done: stop and report completion.
  • Not done: continue to another turn if the budget allows.
  • Paused or budget exhausted: keep the state and wait for your next decision.

Goal does not run proactively unless you set one with /goal <description>.

Common commands

CommandWhat it does
/goal or /goal statusShow the current Goal state.
/goal <description>Set and start a Goal.
/goal pausePause the current Goal while keeping its state.
/goal resumeResume a paused Goal. After resuming, send an ordinary message to let the next turn continue.
/goal clearClear the current Goal.
/goal listList Goal information for the current session.

Add criteria with subgoal

If you discover missing requirements midway, add them with /subgoal:

/subgoal include boundary case tests
/subgoal report the commands that were actually run

/subgoal is for adding criteria, not for emergency stop. Use /goal pause to pause, or press Ctrl+C to interrupt a running turn.

Common commands:

CommandWhat it does
/subgoalShow the current Goal and existing subgoals.
/subgoal <text>Add one criterion.
/subgoal remove <n>Remove one criterion by number.
/subgoal clearClear all subgoals without changing the main Goal.

Pause, resume, and budget

Goal has a turn budget to avoid running forever. The default budget is usually enough for medium-sized tasks. If the budget is exhausted, Goal pauses instead of disappearing.

After a pause, you can:

  • Run /goal resume, then send an ordinary message to continue.
  • Run /goal clear to end the current Goal.
  • Set a new, clearer Goal.

If you exit Axiomate and later use /resume to return to the old session, the Goal state is preserved. Goal is part of the session state, not only the current process.

Write effective Goals

A good Goal has a clear completion condition. For example:

/goal implement fib and pass all tests in fib.test.ts

Avoid overly broad goals:

/goal improve this project

Write the objective, boundaries, and acceptance criteria clearly. The clearer the Goal, the easier it is for the judge to know when to stop.