功能增强
上下文清单门禁
task.py validate 现在会将没有任何策展条目的 implement.jsonl / check.jsonl 判为失败;task.py start 会拒绝启动此类任务,除非传入 --allow-empty-context。sub-agent 注入 hook 也会在提示词中明确声明未注入任何策展上下文,而不再只是 stderr 警告。文件不存在(无 sub-agent 的平台)不受门禁约束。(#573)
任务生命周期命令
task.py rename <task> <new-slug> [--dry-run]一次性重命名目录并同步改写task.json身份字段、父子引用和 jsonl 清单。task.py start记录分支元数据;task.py archive校验它。- 开发者身份解析支持 linked git worktree。
task.py create生成空的implement.jsonl/check.jsonl,不再写入占位行。(#578)
可逆移除
trellis ablate 从项目中移除所有 Trellis 托管文件,并将状态保存到外部根目录;trellis restore 完整还原。带前置冲突检查、项目锁与失败回滚。(#538)
可恢复的会话记录器
add_session.py 改为状态机:每一步幂等、写入原子化,失败后可续跑,不再留下半提交的会话记录。(#577)
OpenCode 会话读取器回归
trellis mem 重新支持读取 OpenCode 1.2+ 的 SQLite 会话存储——零依赖解析器,无原生模块,支持 WAL。(#574)
OMP 提示词注入跳过关键字
.trellis/config.yaml 中的 prompt_injection.skip_keyword 现已在 OMP 上生效:提示词包含该关键字时,本轮跳过 workflow-state 注入。(#586)
ZCode bridge 提示
在 ZCode 上执行init / update 会输出可选 trellis-bridge 插件的安装提示,用于禁用了项目级 hook 的 3.6–3.7 版本。
问题修复
add_session.py与task.py archive的自动提交使用显式 pathspec,不再把预先暂存的无关文件卷入 chore 提交(#579)。- 路径包含检查接受符号链接到外部存储的
.trellis(#567)。 - 任务脚本运行时加固:git
index.lock重试、JSON 读取诊断、更安全的子进程清理(#576)。 trellis update会修复与模板字节一致但回执缺失的文件条目(#575)。- Pi 扩展从会话 cwd 解析 Trellis 项目根(#581)。
- sub-agent 上下文 hook 将 jsonl 引用的文件读取限制在任务基路径内(#584),并显式暴露无法读取的活动任务记录(#544)。
- Channel:增量事件读取跨块保留 UTF-8(#569)、
events.jsonl尾部截断后seq正确续接(#564)、supervisor 退出前排空 stdout(#542)、Claude 系统提示词改为文件传递以规避 argv 上限(#555)。 - OMP:任务上下文注入按字节预算裁剪并输出
[truncated]/[omitted]标记,文件变更后刷新(#541),共享文件去重(#540)。 - OpenCode:改用
messages.transform注入上下文,TUI 与历史记录保持干净(#563)。 workflow.md的路由块不再因标记标签与平台 id 不一致而在四个平台上丢失。
升级
--migrate。