Skip to main content
beta.18 重新设计了 workflow Phase 3:新增 Phase 3.4 Commit changes 步骤,让 AI 按本次 session 改动批量起草 commit;/trellis:finish-work 回归 archive + journal 语义,工作区还有未提交代码改动时拒绝执行。同时修复了子任务归档导致父任务进度回退的 bug、trellis update 期间 AGENTS.md 哈希追踪的问题,以及 OpenCode 在 Windows 下的 PowerShell context 注入。

Enhancements

Phase 3.4 Commit changes

workflow.md Phase 3 新增必选步骤 3.4 Commit changes,由 AI 主导 commit 节奏,不再丢给用户手动处理。 3.4 的 Wrap-up reminder 顺移到 3.5[workflow-state:completed] breadcrumb(以及 inject-workflow-state.py / inject-workflow-state.js 的四份 hook fallback)现在统一指向 /trellis:finish-work,不再走老的 task.py finish + task.py archive 提示。

/trellis:finish-work 回归 survey + archive + journal

skill 删掉了原本的 “Remind user to commit” 步骤,加了一步 survey 帮你发现遗忘的已完成任务。新流程是: 最终 git log 顺序固定为 <3.4 阶段的 work commits>chore(task): archive ...(可能多条)→ chore: record journal,bookkeeping commit 永远在 work commit 之后,不再交错。 common skill 模板用 {{CMD_REF:finish-work}} 占位符,每个平台按自己的 cmdRefPrefix 解析:Claude Code / OpenCode 是 /trellis:finish-work,Codex 是 $finish-work,Cursor 是 /trellis-finish-work

Bug Fixes

子任务归档不再让父任务进度倒退

task.py list 之前会在子任务被归档后从父任务的 [x/y done] 计数里把它丢掉。 cmd_archive 不再从父任务的 children 列表里移除归档过的子任务,children_progress 把”不在活跃状态表里的 child”视为已完成(cmd_archive 在移动目录前总会把状态改成 completed)。这个 invariant 已写入 .trellis/spec/cli/backend/script-conventions.md 的 “Parent-child invariant” 一节。

trellis update 期间 AGENTS.md 哈希追踪

beta.18 之前的项目写过 AGENTS.md 但没记录模板哈希,所以 update 时会被当成 “modified by you” 冲突。beta.18 引入: block 之外的用户自定义内容一律保留。

OpenCode 在 Windows 下的 PowerShell context 注入

inject-subagent-context.js 现在按 host.platform 选择正确的 shell 语法: 显式赋值的去重检测器同时识别 POSIX 形式(TRELLIS_CONTEXT_ID=...export TRELLIS_CONTEXT_ID=...)和 PowerShell 形式($env:TRELLIS_CONTEXT_ID = ...),用户手动加过前缀的命令不会被二次包装。

Internal

Vitest 测试隔离:清掉 host shell 的 session env

packages/cli/test/setup.ts 通过 vitest.config.tssetupFiles 注册,在 vitest 进程启动时 delete process.env.TRELLIS_CONTEXT_IDprocess.env.OPENCODE_RUN_ID,这样 OpenCode resolver 的测试就不会被 Claude / OpenCode 宿主 session 的 env 漏进来 hijack 掉 platform-input 推导出的 contextKey。这个模式已写入 .trellis/spec/cli/unit-test/conventions.md 的 “Test Isolation” 一节。

Spec 更新

Upgrade

存量项目:
本次 beta 不需要加 --migrate flag。