修 Trellis sub-agent 递归 dispatch 自己的问题(Documentation Index
Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
Use this file to discover all available pages before exploring further.
#237);修 compareVersions 在 prerelease 含连字符时丢尾的问题(#230)。无新增 migration。
Bug Fixes
Sub-agent 递归保护
.trellis/workflow.md 的 [workflow-state:in_progress] 段落要求主会话 dispatch trellis-implement / trellis-check sub-agent。Codex 上这段同样会被注入到 sub-agent 的 turn 里,sub-agent 看到指令照做——又 spawn 了一个 trellis-implement,而不是自己直接干活。
两处改动:
[workflow-state:in_progress]把 dispatch 规则限定给主会话,并加一句:“如果你已经是trellis-implement/trellis-checksub-agent,直接干活,不要再 spawn 同类 sub-agent。”- 各平台(claude / cursor / opencode / kiro / codebuddy / droid / codex / pi / gemini / qoder)的
trellis-implement/trellis-checkagent 定义文件顶部加了同一段说明。即便 workflow-state 没被注入,提醒也依然生效。
.trellis/spec/cli/backend/workflow-state-contract.md 同步更新:之前写的”workflow-state breadcrumb 仅主会话可见”是错的,Codex hook 也会投递给 sub-agent。
compareVersions:prerelease 含连字符时不再丢尾
感谢 @voidborne-d 的 #230。
packages/cli/src/utils/compare-versions.ts 之前用 a.split("-", 2) 切分基础版本和 prerelease。JavaScript 的 split(sep, limit) 是截尾,而不是把尾部合并(跟 Python maxsplit 不一样):
compareVersions("1.0.0-alpha-1", "1.0.0-alpha-2") 返回 0——两个版本排序时被当作相等。已修复。packages/cli/test/utils/compare-versions.test.ts 新增 20 个 case,覆盖基础版本、release vs prerelease、连字符 prerelease、版本列表排序。