> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comet.rpamis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Clarification modes and shared understanding

> Configure Sequential or Batch clarification and understand question dependencies, structured prompts, durable artifacts, and cross-session recovery.

Native asks the user only for decisions that change user-visible outcomes. The Agent investigates facts such as repository structure, dependency behavior, and the runtime environment, then chooses implementation methods according to risk. `native.clarification_mode` controls only how user questions are grouped into rounds. It does not change Shape, Build, Verify, or Archive, and it does not weaken the requirements for entering Build.

## Choose a clarification mode

Configure the mode in `.comet/config.yaml`:

```yaml theme={null}
native:
  artifact_root: docs
  language: en
  clarification_mode: sequential
```

| Mode         | Behavior per round                                                             | Best suited for                                                                            |
| ------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `sequential` | Asks one upstream question, then recomputes the next question after the answer | Requirements are still changing quickly, or each answer materially changes later questions |
| `batch`      | Asks every question whose prerequisites are already settled                    | You want fewer round trips and the current round contains several independent decisions    |

When the field is absent, Native uses `sequential`. Switching modes does not clear existing `[blocking]` items in the brief or fill unanswered questions with recommended options. Resolve the current persisted question first; Native then organizes the next round under the new mode.

## The currently answerable question set

Batch does not turn every unknown into a one-time questionnaire. Native checks three conditions for each question:

1. Its prerequisite user decisions are settled.
2. The repository or environment facts needed to answer it have been investigated.
3. Its answer does not depend on another unanswered question in the same round.

Questions that meet all three conditions form the currently answerable set. Questions that still depend on another decision or investigation remain for a later round. This reduces round trips without asking you to guess before the necessary context exists.

<p align="center">
  <img src="https://mintcdn.com/comet-bb5f5294/7jNUkQ90KjmwXcBK/assets/native-illustrations/05-clarification-modes.png?fit=max&auto=format&n=7jNUkQ90KjmwXcBK&q=85&s=f58fea186451d3b7328102ab2829e11d" alt="Xiaoyu clips a question card on folded paper steps, with settled prerequisites below and a later-round question above" width="1672" height="941" data-path="assets/native-illustrations/05-clarification-modes.png" />
</p>

Each question still includes:

* **Question**: the user-visible behavior to decide;
* **Recommendation**: the suggested option based on the current goals and tradeoffs;
* **Impact**: how each option changes scope, outcomes, or risk.

## Structured questions in Claude Code

When `AskUserQuestion` is available in the current tool list, Native prefers Claude Code's structured question interface. Sequential sends one question per round. Batch puts the whole round in one call only when every question fits the tool's current limits for question count, option count, and fields.

Native does not split one round across several blocking tool calls. If the entire round cannot fit in one call, it presents the whole round as numbered text with the same questions, options, recommendations, and impact, then waits for numbered answers.

Single-select and multi-select follow the meaning of the decision:

* Use single-select when options are mutually exclusive.
* Use multi-select only when one decision allows several compatible options.
* Do not compress several independent decisions into one multi-select question.

If the first structured question call in a session fails, later rounds use text instead of repeating the same host error. After a successful tool call, Native does not duplicate the questions as text.

## How questions are saved and resumed

Conversation history is not the recovery source. Batch saves the current round in `brief.md` with stable numbering:

```markdown theme={null}
## Open questions

- [blocking] Q1: On an avatar upload failure, keep the existing avatar or clear it?
- [blocking] Q2: May users delete their existing avatar?
```

After the user answers, Native records settled outcomes in Decisions and the complete target specifications before removing the corresponding blockers. Unanswered or ambiguous items remain `[blocking]`.

When every question is resolved, Batch also produces one shared-understanding summary covering the outcome, scope, key decisions, acceptance criteria, and non-goals, then persists the final confirmation:

```markdown theme={null}
- [blocking] CONFIRM: Confirm the current summary before entering Build
```

Native removes that item and enters Build only after explicit confirmation. Sequential does not add a general final confirmation; when there is no user decision, it continues directly.

## Continue a clarification round across sessions

On resume, read project configuration first, then use the numbering already stored in the brief:

```bash theme={null}
comet native show <change-name>
comet native status <change-name> --details
```

Do not reconstruct questions from chat memory or renumber the current round because the configured mode changed. First map the user's answers to the saved Q1 and Q2, then compute later questions.

Continue with [User decisions and clarification protocol](/en/native/decision-ownership), [Native configuration](/en/native/configuration), and [Recovery and troubleshooting](/en/native/recovery-playbook).
