用途:将 Chief 升级到参数指定的版本。第一个参数为目标版本(分支或标签),可选。无参数时升级到最新稳定版(最高 semver 标签);canary 表示最新 canary 分支;v1.0.0 等表示具体标签。
主要能力与流程:先检测编码代理(.claude/agents/ 对应 claude-code,.github/agents/ 对应 copilot,仅 .agents/ 对应 opencode)与安装模式(符号链接为 link,普通文件为 copy),并请用户确认。随后克隆目标版本到 .chief-agent-tmp,运行 upgrade.sh --plan 并单独 diff AGENTS.md,展示结果等待用户批准。批准后运行 upgrade.sh 应用,并手动合并 AGENTS.md:有 chief-framework 标记时替换标记间内容;旧版有 ## Project Rules 时保留该节并替换其下框架内容;否则整体覆盖。.chief/ 目录(project.md、里程碑、规则)始终不被升级触碰。若 upgrade.sh 失败,则手动覆盖代理文件、保留模型值、按代理与模式更新集成文件,并处理 ${thinking_model}、${coding_model} 占位符。最后验证文件与符号链接,清理 .chief-agent-tmp 并汇报。
限制:所有临时文件必须位于 .chief-agent-tmp/,不得写入 /tmp、会话目录或仓库外位置;未经用户批准不得应用更改;不得覆盖 .chief/ 中用户内容;不得删除仅本地文件;不得凭记忆总结差异,必须使用实际 diff 输出;即使取消升级也须清理临时目录。