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
| Command | What it does |
|---|---|
/goal or /goal status | Show the current Goal state. |
/goal <description> | Set and start a Goal. |
/goal pause | Pause the current Goal while keeping its state. |
/goal resume | Resume a paused Goal. After resuming, send an ordinary message to let the next turn continue. |
/goal clear | Clear the current Goal. |
/goal list | List 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:
| Command | What it does |
|---|---|
/subgoal | Show the current Goal and existing subgoals. |
/subgoal <text> | Add one criterion. |
/subgoal remove <n> | Remove one criterion by number. |
/subgoal clear | Clear 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 clearto 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.