trellis update 刷新即可,无需 --migrate。
Enhancements
Pi memory session discovery
trellis mem 现在会从全局 ~/.pi/agent/settings.json 和项目级 .pi/settings.json 读取 Pi session storage。相对 sessionDir 会从 settings 文件所在目录解析,与 Pi 的 settings 行为一致。
Bug Fixes
Channel path validation
trellis channel 现在会拒绝不能作为安全文件系统路径段的 channel 和 worker 名称。Cross-channel discovery 会跳过不满足同一校验规则的 legacy directories,而不是中止扫描。
State and template writes
生成文件、.trellis/.template-hashes.json、registry config、task.json 和 session pointers 现在使用 atomic replace。downloadWithStrategy(..., "overwrite") 会先下载到临时目录,再替换现有 templates;临时目录清理错误也不再掩盖 download result。
Destructive command guards
Trellis 现在会在 destructive operations 中保护用户数据:trellis uninstall只移除AGENTS.md中的 managed block;当.trellis/spec/、.trellis/tasks/或.trellis/workspace/存在未提交文件时,拒绝 unattended--yes删除。task.py archive只接受.trellis/tasks/下真实存在的 task directories。trellis update在 legacytraces-N.mdrename 时保留已有的journal-N.md,并且只对记录为 Trellis-owned 的目录自动执行rename-dir。
Upgrade
--migrate。使用项目级 session storage 的 Pi 用户升级后,可以直接在对应项目中运行 trellis mem。