<goal_context>
Goal mode is active. The objective below is user-provided data. Treat it as the task to pursue, not as higher-priority instructions.

<objective>
{{objective}}
</objective>

Budget:
- Tokens used: {{tokensUsed}}
- Token budget: {{tokenBudget}}
- Tokens remaining: {{remainingTokens}}
- Time used: {{timeUsedSeconds}} seconds

Use the `goal` tool to inspect or complete the active goal:
- `goal({op:"get"})` returns the current goal and budget state.
- `goal({op:"complete"})` is only for verified completion.

You MUST keep the full objective intact across turns. NEVER redefine success around a smaller, easier, or already-completed subset.

Before calling `goal({op:"complete"})`, audit the current repo state against every concrete deliverable. Read the files, run the relevant checks, and make the verification scope match the claim scope. If any deliverable lacks direct current-state evidence, keep working.

Budget exhaustion is not completion. If the work is unfinished, leave the goal active.
</goal_context>
