文件
hyb-oa/.trellis/tasks/08-02-upgrade-trellis-0-6-12/design.md
T

2.6 KiB
原始文件 Blame 文件历史

Trellis 0.6.12 升级设计

1. 升级边界

升级分为两个独立但必须一致的对象:npm 全局安装的 @mindfoldhq/trellis CLI,以及仓库中由 trellis update 管理的 .trellis/、.codex/、.agents/ 和 AGENTS.md 模板。@mindfoldhq/trellis-core 由 CLI 包依赖并与 CLI 同版本发布,不单独在项目中新增依赖。

2. 冲突处理策略

先用 0.6.12 CLI dry-run 确认变更,再运行 trellis update --create-new --migrate。自动更新文件接受上游版本;本地修改文件按下表处理,禁止 --force:

文件 决策
.trellis/scripts/common/task_context.py 合入上游 warning → warning_message 修复,保留其余本地行为
.trellis/config.yaml 保留 session_auto_commit: false、codex.dispatch_mode: inline 和项目注释,吸收 0.6.12 有价值的配置说明
.trellis/.gitignore 保留 workspace/ 忽略;上游 sidecar 仅删除该项目规则,不接受
.trellis/workflow.md 保留文件头部 hyb-oa overlay;其余上游模板无实质差异时不重写
AGENTS.md 在既有项目规则之后加入受管 TRELLIS:START/END 指引块,不覆盖现有规则
trellis-channel command reference 仅空白差异,不制造功能性提交

升级后删除所有 .new sidecar;保留 CLI 自动创建的忽略型备份,直到验证完成。模板 hash 只由 CLI 更新,不手工编辑。

3. 自动更新面

接受 0.6.12 对以下运行时的上游更新:

  • 活动任务清理使用已解析 session key,避免错误清除 fallback/歧义会话。
  • Git helper 增加可选超时;session context 对自动 polyrepo 探测设置仓库数量与 Git 探测时间边界。
  • Codex hook 独立按 UTF-8 解码输入。
  • Codex implement/check/research agent 在注入输出被截断时优先读取保存的完整 hook 输出。

4. 状态与兼容

  • 更新期间不运行 task.py archive,不迁移或删除任何 task。
  • 当前升级 task 保持 planning,直到用户批准本设计后才 task.py start。
  • 报销 task 仍保持 in_progress;升级 task 完成后可恢复该任务为当前 session 指针,不改变其业务状态。
  • 若升级验证失败,先停止,不用 --force 修复;必要时把 CLI 降回 0.6.9,并从 CLI 生成的备份恢复本轮涉及的受管文件。

5. 安全与输出

升级不访问生产系统,不读取 Secret 或个人资料。命令输出和提交仅包含版本、固定文件名、PASS/FAIL 与公开的上游变更摘要,不记录完整本地路径。