Skip to main content
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:
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

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

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:
Change the default language for future changes with:
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.
native.pending_root_move is a machine-managed recovery field for an interrupted root move, not a user setting. Run comet native doctor instead of editing or deleting it.

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: These fields do not change Native methodology. Native has no context compression, review mode, or cross-Skill phase-transition setting.

Common configurations

Native only

Both workflows, with Classic as the default

Disable automatic recovery for ordinary requests

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, Artifacts and state, and Classic state and configuration.
Last modified on July 22, 2026