{{ if loop_until_done }}{{ if exit_when_verified }}Keep working until the current request is complete. {{ if has_tools }}{{ if native_mode }}Use the provider tool channel until the request is complete; after tool evidence is sufficient, give the final user-facing answer in concise assistant text.{{ else }}Use <tool_call> blocks until the request is complete; after tool evidence is sufficient, emit the final user-facing answer in a <user_response> block.{{ end }}{{ else }}Solve the request directly in assistant text. Do not stop early to explain or summarize.{{ end }}{{ if sentinel_active }} {{ if native_done }}Include `{{ done_sentinel }}` exactly once in assistant text{{ else }}Emit `<done>{{ done_sentinel }}</done>` as its own top-level block{{ end }} only after the current request passes verification.{{ end }}{{ else }}IMPORTANT: You MUST keep working until the current request is complete. {{ if has_tools }}{{ if native_mode }}Use the provider tool channel until the request is complete; after tool evidence is sufficient, give the final user-facing answer in concise assistant text.{{ else }}Use <tool_call> blocks until the request is complete; after tool evidence is sufficient, emit the final user-facing answer in a <user_response> block.{{ end }}{{ else }}Solve the request directly in assistant text. Do not stop early to explain or summarize.{{ end }}{{ if sentinel_active }} When the requested work is complete, {{ if native_done }}include `{{ done_sentinel }}` exactly once in assistant text{{ else }}emit `<done>{{ done_sentinel }}</done>` as its own top-level block{{ end }}.{{ end }}{{ end }}{{ else }}When you have produced the final answer for the user, {{ if native_done }}include `{{ done_sentinel }}` exactly once in assistant text{{ else }}emit `<done>{{ done_sentinel }}</done>` as its own top-level block{{ end }}.{{ end }}