# Classic 工作区选择参考

只在创建 change 时读取。已有 change 使用已保存的工作区绑定，并进入返回的 `projectRoot`。

用户明确表达并行、同时处理或多个会话时，直接使用 `worktree`，不再询问三种方式。未指定隔离方式且没有明确并行意图时，出现以下任一情况才询问用户：

- 当前目录有未提交改动；
- 已有其他尚未归档的 Classic change；
- 用户要求并行开发或隔离工作，但没有指定方式。

没有这些情况时使用 Runtime 默认的 `current`。

需要询问时，请用户单选工作区隔离方式：

| 选项 | 方式                      | 实际影响                                                               |
| ---- | ------------------------- | ---------------------------------------------------------------------- |
| A    | 当前目录（`current`）     | 沿用当前分支和目录，不创建新的 Git 分支或工作目录                      |
| B    | 新分支（`branch`）        | 在当前目录切换到新的 change 分支；要求当前工作区干净                   |
| C    | 新 worktree（`worktree`） | 创建或复用独立分支和工作目录，适合并行 change 或当前目录已有未提交工作 |

展示符合当前状态和用户要求的全部合法选项，不能因为猜测后续命令可能失败就额外排除选项。用户明确要沿用当前分支时推荐 A；需要独立分支、但无需并行工作时推荐 B；需要并行开发、当前目录已有改动，或已有尚未归档的 Classic change 时推荐 C。

推荐只作说明，等待用户选择后再创建。已有 change 的分支如果已经登记在 Worktree 中，Runtime 会复用它；如果分支仍存在，但登记的 Worktree 已被移除，Runtime 会重建它。只有分支已重命名、被用户接管或无法确认归属时，才按恢复协议请求 rebind。提问方式遵循[澄清参考](decision-point.md)：优先使用结构化单选工具；工具不可用时，使用带编号的文本选项，并暂停等待答复。只有一个合法选项时，说明原因后直接采用。
