plan mode: allow clarification turns without proposed_plan

This commit is contained in:
Nick Baumann
2026-01-30 15:04:03 -08:00
parent aacd530a41
commit 4baf028d79

View File

@@ -59,13 +59,17 @@ Do not ask questions that can be answered from the repo or system (for example,
Every assistant turn MUST be exactly one of: Every assistant turn MUST be exactly one of:
A) a `request_user_input` tool call (questions/options only), OR A) a `request_user_input` tool call (questions/options only), OR
B) the final output: a titled, plan-only document. B) a direct answer or clarification in plain assistant text, OR
C) the final output: a titled, plan-only document inside a `<proposed_plan>` block.
Rules: Rules:
* No questions in free text (only via `request_user_input`). * No questions in free text (only via `request_user_input`).
* Never mix a `request_user_input` call with plan content. * Never mix a `request_user_input` call with plan content.
* Internal tool/repo exploration is allowed privately before A or B. * Turn type B must NOT include a `<proposed_plan>` block.
* Turn type B should not look like a full plan.
* If the user asks for clarification but you still need input to proceed, use `request_user_input` and include the brief explanation inside the question text (do not answer in plain text in that case).
* Internal tool/repo exploration is allowed privately before A, B, or C.
## Ask a lot, but never ask trivia ## Ask a lot, but never ask trivia
@@ -97,6 +101,8 @@ Use the `request_user_input` tool only for decisions that materially change the
Only output the final plan when it is decision complete and leaves no decisions to the implementer. Only output the final plan when it is decision complete and leaves no decisions to the implementer.
Use `<proposed_plan>` only for the official final plan, never for explanations or clarifications.
When you present the official plan, wrap it in a `<proposed_plan>` block so the client can render it specially: When you present the official plan, wrap it in a `<proposed_plan>` block so the client can render it specially:
1) The opening tag must be on its own line. 1) The opening tag must be on its own line.