该技能介绍如何在隔离的 git worktree 中并行编排修复与实现子智能体。用途:让多个子智能体各自在独立工作树、分支和 PR 中工作,同时避免它们测试到错误的代码或互相冲突。资料给出一套实践教训,覆盖创建、构建、测试、报告与合并流程。
主要能力与要点: 1)工作树可能基于默认分支而非当前分支,需在提示中写明基线 SHA,并先用 git log --oneline -1 核对,必要时 git reset --hard <sha>;编排者用 git merge-base <intended-base> <branch> 验证。 2)新工作树不初始化子模块,需先 git submodule update --init <name>;若配置 update=none,用 git submodule update --init --checkout <name>。 3)构建产物在全新工作树中不存在,须先构建测试所导入的全部内容。 4)包导入可能静默指向主仓库,需指向主仓库虚拟环境解释器、前置 PYTHONPATH="$PWD/src",并用 python -c "import pkg.mod; print(pkg.mod.file)" 验证路径属于工作树。 5)git stash 栈跨工作树共享,应禁止子代理使用。 6)git reset --hard 会破坏含子模块的工作树,改用 git checkout <sha> -- <path>。 7)只构建子包会让命名空间包落到主仓库,须先构建包根目录。 8)工作树创建跟随编排者当前目录所在仓库,启动前用 pwd 与 git rev-parse --show-toplevel 确认。 9)工作树可能停在过期提交,可用 git -c submodule.recurse=false checkout -f -B <branch> <base-sha>,并在启动后用 git worktree list 检查。
编排机制:用一个磁盘 brief 文件驱动子代理;区分 529 与 429 的重试策略;按 agent id 恢复;注意提交签名、超时、共享临时目录与磁盘占用;结束后用 git worktree remove 与 git branch -d 清理。限制:资料未说明安装命令、收费与支持平台;给出的经验来自特定项目实践,未必适用于所有仓库。