Skip to main content
Supervisor Change is a parallel delivery mode provided by Native for large tasks. It breaks down the overall goal into sub-tasks that can be independently achieved and verified in accordance with the acceptance requirements. The Runtime is responsible for managing dependencies, isolating workspaces, recording execution status, integrating results, and completing final acceptance. No matter how many sub-tasks it is split into, there is still only one final delivery. After all the results are integrated, the main task must re-verify the complete target. A single Agent reporting completion, a sub-task passing verification, or the code entering the integration branch does not mean that the entire task has been completed.

Unified management and delivery of sub-tasks

For example, a permission management objective can be broken down into a permission API, a permission configuration page, and an audit log. The three results can be independently achieved and verified, but they still belong to the same product objective and require unified integration and final acceptance. This type of task is suitable for using Supervisor Change.

Break down tasks according to the deliverables

Comet will check whether it is worth splitting before the final Shape is confirmed. Supervisor Change is recommended only when the following conditions are met simultaneously:
  • At least two results can be independently implemented and verified;
  • Each acceptance item in the overall goal can be clearly assigned to a certain sub-task.
  • The dependencies among sub-tasks can be clearly expressed;
  • Parallel execution or phased delivery can indeed reduce the overall waiting time.
A long demand text and numerous task items do not necessarily mean they are suitable for splitting. If multiple parts need to repeatedly modify the same core area, or the increased communication and integration costs after splitting are higher than the benefits of parallelism, it is more appropriate to continue using a single Native Change. If there is no common final acceptance target, multiple independent changes should be created. The split plan is recorded in children.yaml, using the comet.native.children.v2 format in RC1. The acceptance_index in this file stores the acceptance items of the overall target derived from brief.md, including each item’s acceptance ID, source, and full text; each sub-task only declares a unique name, its dependencies, and the acceptance IDs it covers. The Runtime checks for duplicate names, unknown dependencies, dependency cycles, and acceptance omissions.

The user selects the splitting plan and the advancement method

Before confirmation, Comet will display the overall goal, sub-task list, dependencies, and acceptance mapping. Users can adjust the split, continue to use a single Native Change, or choose an advancement method: The advancement mode only determines where sub-tasks are executed; the split results, dependencies, acceptance criteria, and integration rules stay the same under both modes. When confirming the Supervisor split, the Runtime writes the selection as coordination_mode to comet-state.yaml. Resuming the flow or re-entering Shape after a requirement change reuses this selection; only a new user-visible decision sends the flow back to Shape for you to reconfirm. Before confirmation, the Runtime will not create sub-tasks, worktrees, or external sessions. When there are two or more sub-tasks involved, the ordinary “confirmation” cannot replace the selection of the advancement method. After Comet shows the complete plan and both modes together, you can reply once, for example, “Confirm this plan and use A, multi-session collaboration.” Selecting only “A” chooses the mode without confirming the complete plan. Changes to the plan, acceptance criteria, or sub-tasks require confirmation again.

Each sub-task has an independent workspace

After the Shape is confirmed, the Runtime will first create a dedicated integration branch and integration worktree for the main task, and then, starting from the current commit of the integration branch, prepare independent worktrees and task packages for each sub-task. Each task package contains:
  • The roles and acceptance scope of sub-tasks;
  • The only working directory;
  • Current integration baseline submission;
  • runId for binding task reports;
  • Dependency conditions and stop conditions.
The Runtime informs the main session through readyChildren which sub-tasks can start now. By default, the multi-session mode can start up to two independent sub-tasks simultaneously at most. The single-session mode runs sub-tasks in sequence. To switch to serial execution temporarily, the main session specifies the following when dispatching tasks:
This parameter only limits the number of tasks running at the same time; task dependencies and the acceptance scope stay unchanged.

Adopt multi-session parallel advancement in Codex

After selecting multi-session collaboration in Codex, the current session becomes the main session. It is responsible for assigning tasks, continuously checking progress, handling blockages, integrating verified results into the Runtime, and completing the final Verify of the main task. The main session does not directly enter the sub-task worktree to modify the code. Each sub-task in readyChildren will be assigned to an independent task visible to the user. Independent tasks continue to use the current project and directly enter the subtask directory already prepared by the Runtime, without the need to create a separate worktree. When an independent task reports completion, the result still has to go through the sub-task Verify and Runtime integration; the main session continues with the next step based on the integrated state.

In Claude Code, Agent Teams is adopted for parallel advancement

In the interactive session of Claude Code, different subtasks can be run using Agent Teams. In PowerShell, it can be enabled through the following environment variables:
The current session acts as the team lead and assigns a clearly named teammate to each subtask in readyChildren. only works within the subtask worktree specified by the Runtime and cannot create new workspaces, claim subtasks with unfulfilled dependencies, integrate main task branches, or create nested teams on its own. Agent Teams is responsible for running multiple sessions, while Native Runtime remains responsible for the workspace, task status, verification, and integration: the recorded Runtime state is authoritative, the final acceptance of the main task is also performed by the Runtime, and messages from team members serve only as a progress reference.

Verify first, then integrate

Each sub-task must go through active → verified → integrated:
  1. The Builder completes the candidate implementation in the sub-task worktree and submits the result of binding the current runId.
  2. The independent Verifier checks the candidate submissions and the acceptance scope of sub-tasks;
  3. The Runtime only accepts rewards that match the role, runId, and the current task status.
  4. After verification is passed, the Runtime submits the verified information to the integration worktree of the Supervisor and runs the necessary integration checks.
Sub-tasks do not execute Archive independently, nor can they merge the main task branches by themselves. The Agent’s claim that “it has been completed” cannot be used as a basis for integration. When there are unsubmitted modifications in worktree, it also indicates that the result is not yet ready. Only when the Runtime records the status as integrated will subsequent sub-tasks that depend on it enter readyChildren.

After the integration is completed, a unified acceptance will be conducted

After all sub-tasks enter integrated, the Runtime immediately advances the final Verify of the main task. The final Verify runs at least one integration check in the integration worktree and covers the complete acceptance scope of the overall target. Only after the final verification is passed can the Supervisor Change enter the Archive. The user decides to retain the workspace, merge locally, push or create a PR according to Native’s archive delivery options (the option semantics are described in Archive and delivery). The target branch will not be modified in advance before the final delivery. If the Verify fails in the end, the Runtime will retain the integration scene and will not reopen the sub-tasks that have already been integrated. The process will add a unique-named repair sub-task based on the actual failed acceptance items, supplement the acceptance mapping of the overall goal, and return a Shape for the user to confirm the new repair scope. After the last sub-task is integrated, small fixes may still be committed directly at the parent level, and the final Verify records the integration commit it actually verified; when resuming, an interrupted final-verification record is completed automatically or re-run as needed.

Recoverable task progress

Sub-task summaries, readyChildren, integration status, and the next action are all recorded in the Runtime state; the main session reads them with comet native status <supervisor-change> --details --json when resuming or advancing the work. You only need to tell the Agent to continue the current task — the main session handles these queries and the handoffs automatically. When resuming a task, Comet follows the coordination_mode persisted by the Runtime and does not recreate existing sub-tasks or worktrees. multi-session continues with multi-session collaboration, and single-session continues with the current session advancing sub-tasks in sequence. If the original Codex standalone session or Claude Code Agent Team no longer exists, Comet will re-read the Runtime and automatically switch to subagent under multi-session. Tasks that have been dispatched but lost will first inactivate the old runId through supervisor-cancel, and then be redispatched using the new task package and runId. The late results of the old execution will be rejected. When the subagent is also unavailable, Comet will report a real block and will not automatically switch to single-session advancement. Continue reading Native Loop] to understand the acceptance mechanism shared by the main task and sub-tasks. Read Multiple Changes and Specification Conflicts ] and Recovery Manual ] to learn about concurrent conflicts and interrupt recovery
Last modified on October 3, 2026