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.ts 的 setupFiles 注册,在 vitest 进程启动时 delete process.env.TRELLIS_CONTEXT_ID 和 process.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
存量项目:--migrate flag。