> ## 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.

# Native configuration

> Configure the /comet default route, enabled workflows, automatic recovery, and Native artifact root, document language, and clarification mode.

Native and Classic share the project-level `.comet/config.yaml`. After Native is enabled, this file no longer contains only four Classic defaults. It also owns `/comet` entry routing, enabled workflows, and automatic recovery, while Native-specific settings live under the `native` namespace.

## Complete example

A project with both Native and Classic enabled can use:

```yaml theme={null}
schema: comet.project.v1
default_workflow: native
workflows:
  - native
  - classic
ambient_resume: true

native:
  artifact_root: docs
  language: en
  clarification_mode: sequential

classic:
  language: en
  context_compression: off
  review_mode: standard
  auto_transition: true
```

Shared fields control entry and recovery. `native.*` affects only Native, and `classic.*` affects only new Classic changes. Sharing one configuration file does not merge their state machines, change directories, or Guards.

## Shared entry fields

| Field              | Values / default             | Purpose                                                                                                             |
| ------------------ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `schema`           | `comet.project.v1`           | Current structured project configuration version; managed by Comet                                                  |
| `default_workflow` | `native` \| `classic`        | Permanent Skill entered when the user invokes `/comet`                                                              |
| `workflows`        | `native`, `classic`, or both | Workflows enabled and installed for this project; must include the default                                          |
| `ambient_resume`   | `true` (default) \| `false`  | Whether the agent automatically runs the read-only resume probe for ordinary natural-language continuation requests |

`default_workflow` controls entry only; it does not migrate existing changes. `workflows` is not an installer. Do not enable a workflow only by editing YAML. Use `comet init . --workflow native|classic|both` so its Skills, Rule, and Hook Router are installed.

## Native fields

| Field                       | Values / default                              | Purpose                                                                                  |
| --------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `native.artifact_root`      | Project-relative path; default `docs`         | Locates specs, changes, archive, and runtime under `<artifact-root>/comet/`              |
| `native.language`           | `en` \| `zh-CN`; default `en`                 | Language for briefs, specs, and reports of newly created Native changes                  |
| `native.clarification_mode` | `sequential` \| `batch`; default `sequential` | Ask one upstream question per round, or ask every currently answerable question together |

`artifact_root: .` maps to `<project>/comet/`; `artifact_root: docs` maps to `<project>/docs/comet/`. For an existing Native project, do not edit the field and move files manually. Use the transactional command:

```bash theme={null}
comet native root show
comet native root move docs
```

Change the default language for future changes with:

```bash theme={null}
comet native init --language en
```

Existing changes keep the language written when they were created.

`clarification_mode` changes only how questions are organized. It does not add a phase or change the Guard, safety confirmations, or caller stop points. Switching modes does not clear `[blocking]` questions already saved in the brief. Resolve the current question first, then let Native compute the next round under the new mode.

<Warning>
  <code>native.pending\_root\_move</code> is a machine-managed recovery field for an interrupted root move, not a user setting. Run <code>comet native doctor</code> instead of editing or deleting it.
</Warning>

## Classic fields

Classic Runtime reads these defaults from the `classic:` block in `.comet/config.yaml` and snapshots them into a new change's `.comet.yaml`:

| Field                 | Values                            | Default    |
| --------------------- | --------------------------------- | ---------- |
| `language`            | `en` \| `zh-CN`                   | `en`       |
| `context_compression` | `off` \| `beta`                   | `off`      |
| `review_mode`         | `off` \| `standard` \| `thorough` | `standard` |
| `auto_transition`     | `true` \| `false`                 | `true`     |

These fields do not change Native methodology. Native has no context compression, review mode, or cross-Skill phase-transition setting.

## Common configurations

### Native only

```yaml theme={null}
schema: comet.project.v1
default_workflow: native
workflows:
  - native
ambient_resume: true
native:
  artifact_root: docs
  language: en
  clarification_mode: sequential
```

### Both workflows, with Classic as the default

```yaml theme={null}
schema: comet.project.v1
default_workflow: classic
workflows:
  - native
  - classic
ambient_resume: true
native:
  artifact_root: docs
  language: en
  clarification_mode: batch
classic:
  language: en
  context_compression: off
  review_mode: standard
  auto_transition: true
```

### Disable automatic recovery for ordinary requests

```yaml theme={null}
ambient_resume: false
```

This disables ambient probing for natural-language continuation requests only. Explicit `/comet` still follows `default_workflow`.

## Migrating legacy Classic configuration

For entry routing, an older file containing only top-level `language`, `context_compression`, `review_mode`, and `auto_transition` still uses `legacy-fallback` and enters Classic. It does not guess Native. Classic Runtime no longer reads those top-level defaults directly.

When you run `comet init` or `comet update`, Comet migrates the old top-level values into `classic:`, preserves values already set explicitly in the new block, and removes the legacy fields. Use `comet init . --workflow native` or `--workflow both` when enabling Native instead of assembling the two configurations manually.

Continue with [Single Skill and entry routing](/en/native/skills-and-routing), [Artifacts and state](/en/native/artifacts-and-state), and [Classic state and configuration](/en/concepts/state-management).
