跳转到主要内容

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.

修 Codex sub-agent 套娃派发的结构性 bug(#240#242)。直接移除 Codex 的 SessionStart 钩子,改由 UserPromptSubmit 在首轮 no_task 时引导 AI 调一次 trellis-start skill 加载工作流上下文。无新增 migration。

Bug Fixes

Codex sub-agent 套娃派发

Codex 给每个 spawn 出来的 sub-agent session 都触发一次 SessionStart,且 hook 输入里没有 agent_id / agent_type 字段(参考 openai/codex#16226)。所以 packages/cli/src/templates/codex/hooks/session-start.py 里的 dispatch 指令也被注入到 sub-agent 的 session-start payload,sub-agent 看到 “Next required action: dispatch trellis-implement”,误以为自己是主会话,又派了一个 trellis-implement 出去。然后那个 sub-agent 接着干一样的事。 0.5.4 的补丁(#237)在同一段 prompt 里加了 Sub-agent self-exemption: 豁免说明,但它跟 dispatch 指令并排在同一段。LLM 持续优先选择命令式指令,忽略条件豁免。 结构性修法:
  • packages/cli/src/templates/codex/hooks.json 删除 SessionStart 条目 —— 沉重的 session-start payload 不再到达任何 session,sub-agent 和主会话都不会。
  • packages/cli/src/templates/shared-hooks/inject-workflow-state.pyUserPromptSubmit)在 no_task 状态下新增 <trellis-bootstrap> 注入,告诉 AI 调一次 $trellis-start。notice 里带有显式的 sub-agent 豁免说明(sub-agent 先读到既有的 <sub-agent-notice>,就会忽略下方所有内容)。
  • packages/cli/src/configurators/codex.ts 给 Codex 写 .agents/skills/trellis-start/SKILL.md。skill 内容直接复用现有的 common/commands/start.md 模板,加 skill 前缀 frontmatter。
Sub-agent session 现在只会看到 per-turn 面包屑里的 <sub-agent-notice>。新注入里任何位置都没有命令式 “必须 dispatch” 文本,递归路径从源头消失。 其他 agent-capable 平台(Claude Code、Cursor、OpenCode、Kiro 等)的 SessionStart 钩子保持不变 —— 只有 Codex 受 openai/codex#16226 影响。

Upgrade

npm install -g @mindfoldhq/trellis@latest
trellis update
Codex 用户会拿到新的 .agents/skills/trellis-start/SKILL.md 文件,以及一份不含 SessionStart wiring 的 hooks.json。无需任何 flag。