@mindfoldhq/trellis 0.6.0-beta.2 → 0.6.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.d.ts +1 -1
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +58 -2
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/commands/channel/adapters/claude.d.ts +29 -0
  7. package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
  8. package/dist/commands/channel/adapters/claude.js +203 -0
  9. package/dist/commands/channel/adapters/claude.js.map +1 -0
  10. package/dist/commands/channel/adapters/codex.d.ts +85 -0
  11. package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
  12. package/dist/commands/channel/adapters/codex.js +505 -0
  13. package/dist/commands/channel/adapters/codex.js.map +1 -0
  14. package/dist/commands/channel/adapters/index.d.ts +84 -0
  15. package/dist/commands/channel/adapters/index.d.ts.map +1 -0
  16. package/dist/commands/channel/adapters/index.js +115 -0
  17. package/dist/commands/channel/adapters/index.js.map +1 -0
  18. package/dist/commands/channel/adapters/types.d.ts +33 -0
  19. package/dist/commands/channel/adapters/types.d.ts.map +1 -0
  20. package/dist/commands/channel/adapters/types.js +2 -0
  21. package/dist/commands/channel/adapters/types.js.map +1 -0
  22. package/dist/commands/channel/agent-loader.d.ts +32 -0
  23. package/dist/commands/channel/agent-loader.d.ts.map +1 -0
  24. package/dist/commands/channel/agent-loader.js +154 -0
  25. package/dist/commands/channel/agent-loader.js.map +1 -0
  26. package/dist/commands/channel/context-loader.d.ts +26 -0
  27. package/dist/commands/channel/context-loader.d.ts.map +1 -0
  28. package/dist/commands/channel/context-loader.js +290 -0
  29. package/dist/commands/channel/context-loader.js.map +1 -0
  30. package/dist/commands/channel/context.d.ts +16 -0
  31. package/dist/commands/channel/context.d.ts.map +1 -0
  32. package/dist/commands/channel/context.js +83 -0
  33. package/dist/commands/channel/context.js.map +1 -0
  34. package/dist/commands/channel/create.d.ts +27 -0
  35. package/dist/commands/channel/create.d.ts.map +1 -0
  36. package/dist/commands/channel/create.js +39 -0
  37. package/dist/commands/channel/create.js.map +1 -0
  38. package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
  39. package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
  40. package/dist/commands/channel/dev-parse-trace.js +70 -0
  41. package/dist/commands/channel/dev-parse-trace.js.map +1 -0
  42. package/dist/commands/channel/guard.d.ts +150 -0
  43. package/dist/commands/channel/guard.d.ts.map +1 -0
  44. package/dist/commands/channel/guard.js +474 -0
  45. package/dist/commands/channel/guard.js.map +1 -0
  46. package/dist/commands/channel/index.d.ts +3 -0
  47. package/dist/commands/channel/index.d.ts.map +1 -0
  48. package/dist/commands/channel/index.js +531 -0
  49. package/dist/commands/channel/index.js.map +1 -0
  50. package/dist/commands/channel/interrupt.d.ts +10 -0
  51. package/dist/commands/channel/interrupt.d.ts.map +1 -0
  52. package/dist/commands/channel/interrupt.js +22 -0
  53. package/dist/commands/channel/interrupt.js.map +1 -0
  54. package/dist/commands/channel/kill.d.ts +7 -0
  55. package/dist/commands/channel/kill.d.ts.map +1 -0
  56. package/dist/commands/channel/kill.js +121 -0
  57. package/dist/commands/channel/kill.js.map +1 -0
  58. package/dist/commands/channel/list.d.ts +17 -0
  59. package/dist/commands/channel/list.d.ts.map +1 -0
  60. package/dist/commands/channel/list.js +233 -0
  61. package/dist/commands/channel/list.js.map +1 -0
  62. package/dist/commands/channel/messages.d.ts +15 -0
  63. package/dist/commands/channel/messages.d.ts.map +1 -0
  64. package/dist/commands/channel/messages.js +245 -0
  65. package/dist/commands/channel/messages.js.map +1 -0
  66. package/dist/commands/channel/rm.d.ts +27 -0
  67. package/dist/commands/channel/rm.d.ts.map +1 -0
  68. package/dist/commands/channel/rm.js +216 -0
  69. package/dist/commands/channel/rm.js.map +1 -0
  70. package/dist/commands/channel/run.d.ts +30 -0
  71. package/dist/commands/channel/run.d.ts.map +1 -0
  72. package/dist/commands/channel/run.js +130 -0
  73. package/dist/commands/channel/run.js.map +1 -0
  74. package/dist/commands/channel/send.d.ts +11 -0
  75. package/dist/commands/channel/send.d.ts.map +1 -0
  76. package/dist/commands/channel/send.js +24 -0
  77. package/dist/commands/channel/send.js.map +1 -0
  78. package/dist/commands/channel/spawn.d.ts +40 -0
  79. package/dist/commands/channel/spawn.d.ts.map +1 -0
  80. package/dist/commands/channel/spawn.js +244 -0
  81. package/dist/commands/channel/spawn.js.map +1 -0
  82. package/dist/commands/channel/store/events.d.ts +39 -0
  83. package/dist/commands/channel/store/events.d.ts.map +1 -0
  84. package/dist/commands/channel/store/events.js +87 -0
  85. package/dist/commands/channel/store/events.js.map +1 -0
  86. package/dist/commands/channel/store/filter.d.ts +3 -0
  87. package/dist/commands/channel/store/filter.d.ts.map +1 -0
  88. package/dist/commands/channel/store/filter.js +2 -0
  89. package/dist/commands/channel/store/filter.js.map +1 -0
  90. package/dist/commands/channel/store/lock.d.ts +23 -0
  91. package/dist/commands/channel/store/lock.d.ts.map +1 -0
  92. package/dist/commands/channel/store/lock.js +99 -0
  93. package/dist/commands/channel/store/lock.js.map +1 -0
  94. package/dist/commands/channel/store/paths.d.ts +63 -0
  95. package/dist/commands/channel/store/paths.d.ts.map +1 -0
  96. package/dist/commands/channel/store/paths.js +246 -0
  97. package/dist/commands/channel/store/paths.js.map +1 -0
  98. package/dist/commands/channel/store/schema.d.ts +27 -0
  99. package/dist/commands/channel/store/schema.d.ts.map +1 -0
  100. package/dist/commands/channel/store/schema.js +34 -0
  101. package/dist/commands/channel/store/schema.js.map +1 -0
  102. package/dist/commands/channel/store/thread-state.d.ts +5 -0
  103. package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
  104. package/dist/commands/channel/store/thread-state.js +16 -0
  105. package/dist/commands/channel/store/thread-state.js.map +1 -0
  106. package/dist/commands/channel/store/watch.d.ts +19 -0
  107. package/dist/commands/channel/store/watch.d.ts.map +1 -0
  108. package/dist/commands/channel/store/watch.js +146 -0
  109. package/dist/commands/channel/store/watch.js.map +1 -0
  110. package/dist/commands/channel/supervisor/idle.d.ts +46 -0
  111. package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
  112. package/dist/commands/channel/supervisor/idle.js +72 -0
  113. package/dist/commands/channel/supervisor/idle.js.map +1 -0
  114. package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
  115. package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
  116. package/dist/commands/channel/supervisor/inbox.js +160 -0
  117. package/dist/commands/channel/supervisor/inbox.js.map +1 -0
  118. package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
  119. package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
  120. package/dist/commands/channel/supervisor/shutdown.js +146 -0
  121. package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
  122. package/dist/commands/channel/supervisor/stdout.d.ts +51 -0
  123. package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
  124. package/dist/commands/channel/supervisor/stdout.js +121 -0
  125. package/dist/commands/channel/supervisor/stdout.js.map +1 -0
  126. package/dist/commands/channel/supervisor/turns.d.ts +31 -0
  127. package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
  128. package/dist/commands/channel/supervisor/turns.js +45 -0
  129. package/dist/commands/channel/supervisor/turns.js.map +1 -0
  130. package/dist/commands/channel/supervisor/warning.d.ts +48 -0
  131. package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
  132. package/dist/commands/channel/supervisor/warning.js +77 -0
  133. package/dist/commands/channel/supervisor/warning.js.map +1 -0
  134. package/dist/commands/channel/supervisor.d.ts +59 -0
  135. package/dist/commands/channel/supervisor.d.ts.map +1 -0
  136. package/dist/commands/channel/supervisor.js +344 -0
  137. package/dist/commands/channel/supervisor.js.map +1 -0
  138. package/dist/commands/channel/text-body.d.ts +13 -0
  139. package/dist/commands/channel/text-body.d.ts.map +1 -0
  140. package/dist/commands/channel/text-body.js +47 -0
  141. package/dist/commands/channel/text-body.js.map +1 -0
  142. package/dist/commands/channel/threads.d.ts +39 -0
  143. package/dist/commands/channel/threads.d.ts.map +1 -0
  144. package/dist/commands/channel/threads.js +106 -0
  145. package/dist/commands/channel/threads.js.map +1 -0
  146. package/dist/commands/channel/title.d.ts +12 -0
  147. package/dist/commands/channel/title.d.ts.map +1 -0
  148. package/dist/commands/channel/title.js +24 -0
  149. package/dist/commands/channel/title.js.map +1 -0
  150. package/dist/commands/channel/wait.d.ts +17 -0
  151. package/dist/commands/channel/wait.d.ts.map +1 -0
  152. package/dist/commands/channel/wait.js +75 -0
  153. package/dist/commands/channel/wait.js.map +1 -0
  154. package/dist/commands/init.d.ts +2 -0
  155. package/dist/commands/init.d.ts.map +1 -1
  156. package/dist/commands/init.js +97 -42
  157. package/dist/commands/init.js.map +1 -1
  158. package/dist/commands/mem.d.ts +13 -117
  159. package/dist/commands/mem.d.ts.map +1 -1
  160. package/dist/commands/mem.js +168 -1074
  161. package/dist/commands/mem.js.map +1 -1
  162. package/dist/commands/uninstall.d.ts.map +1 -1
  163. package/dist/commands/uninstall.js +28 -2
  164. package/dist/commands/uninstall.js.map +1 -1
  165. package/dist/commands/update.d.ts.map +1 -1
  166. package/dist/commands/update.js +31 -111
  167. package/dist/commands/update.js.map +1 -1
  168. package/dist/commands/upgrade.d.ts +28 -0
  169. package/dist/commands/upgrade.d.ts.map +1 -0
  170. package/dist/commands/upgrade.js +84 -0
  171. package/dist/commands/upgrade.js.map +1 -0
  172. package/dist/commands/workflow.d.ts +35 -0
  173. package/dist/commands/workflow.d.ts.map +1 -0
  174. package/dist/commands/workflow.js +219 -0
  175. package/dist/commands/workflow.js.map +1 -0
  176. package/dist/configurators/claude.d.ts.map +1 -1
  177. package/dist/configurators/claude.js +1 -0
  178. package/dist/configurators/claude.js.map +1 -1
  179. package/dist/configurators/codex.d.ts.map +1 -1
  180. package/dist/configurators/codex.js +5 -3
  181. package/dist/configurators/codex.js.map +1 -1
  182. package/dist/configurators/shared.js +4 -4
  183. package/dist/configurators/shared.js.map +1 -1
  184. package/dist/configurators/workflow.d.ts +8 -0
  185. package/dist/configurators/workflow.d.ts.map +1 -1
  186. package/dist/configurators/workflow.js +3 -2
  187. package/dist/configurators/workflow.js.map +1 -1
  188. package/dist/migrations/manifests/0.5.10.json +9 -0
  189. package/dist/migrations/manifests/0.5.11.json +16 -0
  190. package/dist/migrations/manifests/0.5.12.json +9 -0
  191. package/dist/migrations/manifests/0.5.13.json +9 -0
  192. package/dist/migrations/manifests/0.5.14.json +9 -0
  193. package/dist/migrations/manifests/0.5.15.json +9 -0
  194. package/dist/migrations/manifests/0.5.16.json +9 -0
  195. package/dist/migrations/manifests/0.5.17.json +9 -0
  196. package/dist/migrations/manifests/0.5.18.json +9 -0
  197. package/dist/migrations/manifests/0.6.0-beta.10.json +9 -0
  198. package/dist/migrations/manifests/0.6.0-beta.11.json +9 -0
  199. package/dist/migrations/manifests/0.6.0-beta.12.json +9 -0
  200. package/dist/migrations/manifests/0.6.0-beta.13.json +9 -0
  201. package/dist/migrations/manifests/0.6.0-beta.14.json +9 -0
  202. package/dist/migrations/manifests/0.6.0-beta.15.json +9 -0
  203. package/dist/migrations/manifests/0.6.0-beta.16.json +9 -0
  204. package/dist/migrations/manifests/0.6.0-beta.17.json +9 -0
  205. package/dist/migrations/manifests/0.6.0-beta.18.json +16 -0
  206. package/dist/migrations/manifests/0.6.0-beta.19.json +9 -0
  207. package/dist/migrations/manifests/0.6.0-beta.20.json +9 -0
  208. package/dist/migrations/manifests/0.6.0-beta.21.json +9 -0
  209. package/dist/migrations/manifests/0.6.0-beta.3.json +9 -0
  210. package/dist/migrations/manifests/0.6.0-beta.4.json +9 -0
  211. package/dist/migrations/manifests/0.6.0-beta.5.json +9 -0
  212. package/dist/migrations/manifests/0.6.0-beta.6.json +16 -0
  213. package/dist/migrations/manifests/0.6.0-beta.7.json +9 -0
  214. package/dist/migrations/manifests/0.6.0-beta.8.json +9 -0
  215. package/dist/migrations/manifests/0.6.0-beta.9.json +9 -0
  216. package/dist/templates/claude/agents/trellis-check.md +13 -7
  217. package/dist/templates/claude/agents/trellis-implement.md +8 -7
  218. package/dist/templates/claude/settings.json +4 -4
  219. package/dist/templates/codebuddy/agents/trellis-check.md +13 -7
  220. package/dist/templates/codebuddy/agents/trellis-implement.md +8 -7
  221. package/dist/templates/codebuddy/settings.json +4 -4
  222. package/dist/templates/codex/agents/trellis-check.toml +4 -4
  223. package/dist/templates/codex/agents/trellis-implement.toml +4 -4
  224. package/dist/templates/codex/config.toml +9 -16
  225. package/dist/templates/codex/hooks/session-start.py +205 -119
  226. package/dist/templates/codex/hooks.json +2 -2
  227. package/dist/templates/codex/skills/before-dev/SKILL.md +12 -6
  228. package/dist/templates/codex/skills/brainstorm/SKILL.md +69 -457
  229. package/dist/templates/codex/skills/check/SKILL.md +86 -18
  230. package/dist/templates/codex/skills/start/SKILL.md +33 -323
  231. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +7 -4
  232. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +1 -1
  233. package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +3 -2
  234. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +5 -5
  235. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +1 -1
  236. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +35 -6
  237. package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +5 -4
  238. package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/SKILL.md +41 -0
  239. package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/mcp-setup.md +90 -0
  240. package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/repository-analysis.md +59 -0
  241. package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/spec-task-planning.md +61 -0
  242. package/dist/templates/common/bundled-skills/trellis-spec-bootstarp/references/spec-writing.md +70 -0
  243. package/dist/templates/common/commands/continue.md +6 -5
  244. package/dist/templates/common/commands/start.md +9 -6
  245. package/dist/templates/common/skills/before-dev.md +12 -6
  246. package/dist/templates/common/skills/brainstorm.md +68 -504
  247. package/dist/templates/common/skills/check.md +7 -1
  248. package/dist/templates/copilot/hooks/session-start.py +219 -101
  249. package/dist/templates/copilot/hooks.json +2 -2
  250. package/dist/templates/copilot/prompts/before-dev.prompt.md +12 -6
  251. package/dist/templates/copilot/prompts/brainstorm.prompt.md +69 -457
  252. package/dist/templates/copilot/prompts/check.prompt.md +86 -18
  253. package/dist/templates/copilot/prompts/parallel.prompt.md +16 -8
  254. package/dist/templates/copilot/prompts/start.prompt.md +33 -367
  255. package/dist/templates/cursor/agents/trellis-check.md +13 -7
  256. package/dist/templates/cursor/agents/trellis-implement.md +8 -7
  257. package/dist/templates/cursor/hooks.json +1 -7
  258. package/dist/templates/droid/droids/trellis-check.md +13 -7
  259. package/dist/templates/droid/droids/trellis-implement.md +8 -7
  260. package/dist/templates/droid/settings.json +4 -4
  261. package/dist/templates/gemini/agents/trellis-check.md +11 -5
  262. package/dist/templates/gemini/agents/trellis-implement.md +7 -6
  263. package/dist/templates/gemini/settings.json +2 -2
  264. package/dist/templates/kiro/agents/trellis-check.json +1 -1
  265. package/dist/templates/kiro/agents/trellis-implement.json +1 -1
  266. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +127 -9
  267. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +171 -6
  268. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +333 -43
  269. package/dist/templates/markdown/spec/guides/index.md.txt +18 -0
  270. package/dist/templates/opencode/agents/trellis-check.md +13 -7
  271. package/dist/templates/opencode/agents/trellis-implement.md +9 -8
  272. package/dist/templates/opencode/lib/session-utils.js +212 -123
  273. package/dist/templates/opencode/lib/trellis-context.js +73 -11
  274. package/dist/templates/opencode/plugins/inject-subagent-context.js +131 -29
  275. package/dist/templates/opencode/plugins/inject-workflow-state.js +9 -5
  276. package/dist/templates/opencode/plugins/session-start.js +9 -1
  277. package/dist/templates/pi/agents/trellis-check.md +5 -4
  278. package/dist/templates/pi/agents/trellis-implement.md +5 -4
  279. package/dist/templates/pi/extensions/trellis/index.ts.txt +1357 -754
  280. package/dist/templates/qoder/agents/trellis-check.md +11 -5
  281. package/dist/templates/qoder/agents/trellis-implement.md +7 -6
  282. package/dist/templates/qoder/settings.json +4 -4
  283. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  284. package/dist/templates/shared-hooks/index.js +0 -1
  285. package/dist/templates/shared-hooks/index.js.map +1 -1
  286. package/dist/templates/shared-hooks/inject-subagent-context.py +36 -14
  287. package/dist/templates/shared-hooks/inject-workflow-state.py +40 -42
  288. package/dist/templates/shared-hooks/session-start.py +222 -171
  289. package/dist/templates/trellis/config.yaml +38 -0
  290. package/dist/templates/trellis/index.d.ts +1 -0
  291. package/dist/templates/trellis/index.d.ts.map +1 -1
  292. package/dist/templates/trellis/index.js +2 -0
  293. package/dist/templates/trellis/index.js.map +1 -1
  294. package/dist/templates/trellis/scripts/add_session.py +50 -24
  295. package/dist/templates/trellis/scripts/common/config.py +57 -1
  296. package/dist/templates/trellis/scripts/common/safe_commit.py +285 -0
  297. package/dist/templates/trellis/scripts/common/session_context.py +384 -137
  298. package/dist/templates/trellis/scripts/common/task_context.py +3 -3
  299. package/dist/templates/trellis/scripts/common/task_store.py +161 -15
  300. package/dist/templates/trellis/scripts/common/workflow_phase.py +7 -10
  301. package/dist/templates/trellis/scripts/task.py +3 -3
  302. package/dist/templates/trellis/workflow.md +119 -98
  303. package/dist/utils/cwd-guard.d.ts +38 -0
  304. package/dist/utils/cwd-guard.d.ts.map +1 -0
  305. package/dist/utils/cwd-guard.js +62 -0
  306. package/dist/utils/cwd-guard.js.map +1 -0
  307. package/dist/utils/file-writer.d.ts +13 -0
  308. package/dist/utils/file-writer.d.ts.map +1 -1
  309. package/dist/utils/file-writer.js +59 -1
  310. package/dist/utils/file-writer.js.map +1 -1
  311. package/dist/utils/manifest-prune.d.ts +61 -0
  312. package/dist/utils/manifest-prune.d.ts.map +1 -0
  313. package/dist/utils/manifest-prune.js +136 -0
  314. package/dist/utils/manifest-prune.js.map +1 -0
  315. package/dist/utils/task-json.d.ts +9 -42
  316. package/dist/utils/task-json.d.ts.map +1 -1
  317. package/dist/utils/task-json.js +8 -45
  318. package/dist/utils/task-json.js.map +1 -1
  319. package/dist/utils/template-hash.d.ts +32 -6
  320. package/dist/utils/template-hash.d.ts.map +1 -1
  321. package/dist/utils/template-hash.js +53 -31
  322. package/dist/utils/template-hash.js.map +1 -1
  323. package/dist/utils/uninstall-scrubbers.d.ts +1 -0
  324. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  325. package/dist/utils/uninstall-scrubbers.js +21 -0
  326. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  327. package/dist/utils/workflow-resolver.d.ts +86 -0
  328. package/dist/utils/workflow-resolver.d.ts.map +1 -0
  329. package/dist/utils/workflow-resolver.js +265 -0
  330. package/dist/utils/workflow-resolver.js.map +1 -0
  331. package/package.json +9 -8
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.13",
3
+ "description": "Beta patch: add the trellis-core SDK package, finalize thread channel naming/context commands, and publish core with the CLI.",
4
+ "breaking": true,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(core): add `@mindfoldhq/trellis-core` with public `channel`, `task`, and `testing` exports for Node consumers.\n- feat(channel): use `trellis channel create --type threads` for thread channels and add `trellis channel context`, `trellis channel title`, and `trellis channel thread rename`.\n- feat(channel): add `--context-file` and `--context-raw` as canonical context flags while accepting `--linked-context-*` aliases.\n\n**Internal:**\n- chore(release): publish `@mindfoldhq/trellis-core` before `@mindfoldhq/trellis` with one version, one dist-tag, provenance, and packed CLI dependency checks.",
7
+ "migrations": [],
8
+ "notes": "Beta users should replace `trellis channel create --type thread` with `trellis channel create --type threads`. Run `trellis update` to pull in the core SDK-backed channel commands. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.14",
3
+ "description": "Beta patch: classify Codex channel streamed deltas and verify published packages on public npm after CI publish.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(channel): add `detail.kind`, `detail.stream_id`, and `detail.phase` to Codex `item/agentMessage/delta` progress events so consumers can split interleaved output and commentary streams.\n\n**Internal:**\n- chore(release): verify `@mindfoldhq/trellis` and `@mindfoldhq/trellis-core` are visible on the public npm registry after CI publish.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to use the Codex channel stream metadata fix. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.15",
3
+ "description": "Beta patch: add core mem APIs, forum channel APIs, and channel worker lifecycle controls with Codex turn ordering fixes.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(core): add `@mindfoldhq/trellis-core/mem` for reusable `tl mem` session listing, search, context extraction, project aggregation, and provider adapters.\n- feat(channel): add forum channel commands and context entries with `trellis channel create --type forum`, `channel post`, `channel forum`, `channel thread`, and `channel context`.\n- feat(channel): add reusable worker runtime APIs, cursor reads, cross-channel watchers, `--inbox-policy`, and `--delivery-mode` for managed channel workers.\n\n**Bug Fixes:**\n- fix(channel): serialize normal worker turns, record `interrupt_requested` / `interrupted`, and keep workers active after turn-level `done` / `error` events.\n- fix(channel): delay Codex `done` until `final_answer` is recorded and keep `fs.watch` subscriptions alive after watcher errors.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to use the core mem, forum channel, and channel worker lifecycle updates. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.16",
3
+ "description": "Beta patch: align Trellis task artifacts with check agents and document parent/child task trees in workflow guidance.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(workflow): document parent/child task tree planning in `workflow.md`, `trellis-brainstorm`, and `trellis-meta` references. Planning breadcrumbs now remind agents that multi-deliverable work should use independently verifiable child tasks and explicit child artifact dependencies.\n\n**Bug Fixes:**\n- fix(agents): `trellis-check` agents across platforms now read task `prd.md`, `design.md` when present, and `implement.md` when present before checking code against specs. Pi implement/check agents now list the same task artifact order.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to refresh workflow and agent templates. No file migration is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.17",
3
+ "description": "Beta patch: add workflow template switching, worker inbox core APIs, supervisor warning controls, wait kind unions, and Cursor sessionStart schema output.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(workflow): `trellis init --workflow` and `trellis workflow` can select `native`, `tdd`, `channel-driven-subagent-dispatch`, or marketplace workflow templates for `.trellis/workflow.md`.\n- feat(channel): `trellis channel wait --kind` accepts CSV kind unions such as `done,killed`; supervisors emit `supervisor_warning`, and `trellis channel spawn --warn-before` configures or disables the warning lead time.\n- feat(core): `@mindfoldhq/trellis-core/channel` exports `readWorkerInbox()`, `watchWorkerInbox()`, and `WorkerInboxError` for durable worker inbox consumers.\n\n**Bug Fixes:**\n- fix(hooks): Cursor `sessionStart` hooks now emit top-level `additional_context` and no longer install the unsupported `beforeSubmitPrompt` workflow injector.",
7
+ "migrations": [],
8
+ "notes": "Run `npm install -g @mindfoldhq/trellis@beta` and `trellis update` to refresh CLI templates. No file migration is required."
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "0.6.0-beta.18",
3
+ "description": "Beta patch: channel worker OOM guard, simplified channel message routing, bundled Trellis spec bootstrap skill docs, and safer task archive auto-commit failures.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(channel): default OOM guard for `trellis channel spawn`. Workers that stay continuously idle past `channel.worker_guard.idle_timeout` (default `5m`) are self-terminated with `killed{reason:\"idle-timeout\"}`. Mid-turn workers are not killed by idle cleanup.\n- feat(channel): spawn-time live-worker budget per project/scope. Default `channel.worker_guard.max_live_workers: 6`. Expired idle workers are cleaned first; if the budget is still exhausted, `spawn` rejects with live-worker details and kill / override hints.\n- feat(channel): simplified worker message routing by removing message tags from channel send/wait/run internals.\n- feat(config): `.trellis/config.yaml` gains a `channel.worker_guard` section via `trellis update`.\n- feat(skills): Trellis beta bundle includes the built-in `trellis-spec-bootstarp` skill for bootstrapping `.trellis/spec/` from the real codebase.\n**Bug Fixes:**\n- fix(cli): `task.py archive` now fails when its auto-commit fails instead of reporting a successful archive with uncommitted changes.",
7
+ "migrations": [],
8
+ "configSectionsAdded": [
9
+ {
10
+ "file": ".trellis/config.yaml",
11
+ "sentinel": "worker_guard:",
12
+ "sectionHeading": "Channel worker OOM guard"
13
+ }
14
+ ],
15
+ "notes": "Beta patch on top of 0.6.0-beta.17. `trellis update` appends `channel.worker_guard` defaults for existing projects. To opt out, set `channel.worker_guard.idle_timeout: 0` and / or `channel.worker_guard.max_live_workers: 0`, or pass `--idle-timeout 0` / `--max-live-workers 0` per spawn."
16
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.19",
3
+ "description": "Beta patch: Pi trellis_subagent native progress cards, durable channel idempotency, task create/archive collision guard, workflow breadcrumb clarification, and Codex 0.131 timeout bounds.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(pi): Pi extension now exposes `trellis_subagent` with native progress cards, `single` / `parallel` / `chain` dispatch modes, throttled live updates, and Trellis-agent validation (#286, #290).\n**Bug Fixes:**\n- fix(core): channel `sendMessage` and `postThread` accept durable `idempotencyKey` values so retries return the original JSONL event and do not duplicate strict-delivery `undeliverable` events.\n- fix(cli): `task.py create` now rejects slugs that already exist under `.trellis/tasks/archive/**` and prints the archived path (#291).\n- fix(workflow): `[workflow-state:in_progress]` now distinguishes sub-agent types from skills so agents do not call missing `trellis-implement` / `trellis-research` skills (#283).\n- fix(codex): `.codex/config.toml` emits `min_wait_timeout_ms`, `default_wait_timeout_ms`, and `max_wait_timeout_ms` together so Codex CLI 0.131+ accepts merged multi_agent_v2 timeout config (#294).\n**Internal:**\n- chore(release): restore the shipped `0.5.17` migration manifest so manifest continuity and update-chain checks pass for the beta release.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.18. Run `trellis update` to refresh Pi, Codex, workflow, and task templates. No migration command is required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.20",
3
+ "description": "Beta patch: bundle the Trellis spec bootstrap skill in the CLI package and clarify Codex CLI 0.131+ timeout-bounds requirements.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(skills): `trellis-spec-bootstarp` is now included under `dist/templates/common/bundled-skills/`, so fresh `trellis init` and `trellis update` install the built-in spec bootstrap skill and track its reference files.\n- fix(docs): the v0.6.0-beta.19 changelog now states that the full Codex `multi_agent_v2` timeout-bounds config requires Codex CLI 0.131.0+.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.19. Run `trellis update` to install the bundled `trellis-spec-bootstarp` skill. Codex users should use Codex CLI 0.131.0+ for the full multi_agent_v2 timeout-bounds config."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.21",
3
+ "description": "Beta patch: stop writing the [features.multi_agent_v2] block to the generated Codex config.toml so Codex CLI 0.130 and the Codex desktop app can load the config.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(codex): `trellis init` / `trellis update` no longer write a `[features.multi_agent_v2]` block to `.codex/config.toml`. Codex CLI changed `features` deserialization between 0.130 and 0.131; the structured table form is only accepted by 0.131+. On 0.130 and earlier — including the Codex CLI bundled in the Codex desktop app — it failed with `data did not match any variant of untagged enum FeatureToml in features.multi_agent_v2`, aborting the entire config load and blocking Codex from starting. Codex's own default for multi_agent_v2 is used instead.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.20. Run `trellis update` to regenerate `.codex/config.toml` without the multi_agent_v2 block. Tune multi_agent_v2 in your user-level ~/.codex/config.toml if needed."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.3",
3
+ "description": "Beta patch: tl mem --phase brainstorm slicing, 5-9x perf, OpenCode SQLite reader for 1.2+ users.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(mem): `tl mem extract <id> --phase brainstorm|implement|all` slices a session into discussion vs implementation parts. Multi-task sessions get `--- task: <slug> ---` separators. Claude and Codex supported; OpenCode falls back to full dialogue.\n- perf(mem): 5-9× faster. `mem list` 3.5s → 0.67s, `mem list --platform codex` 3.2s → 0.33s, `mem extract --phase brainstorm` 5.8s → 0.73s.\n\n**Bug Fixes:**\n- fix(mem): OpenCode 1.2+ users no longer see 0 sessions. OpenCode 1.2 moved storage to SQLite; the old JSON-directory reader has been replaced. OpenCode 1.1.x is no longer supported.\n- fix(mem): `--phase` parser handles `$(... --slug NAME)` substitution, multiple `task.py` invocations per Bash command, and `task.py start` quoted in commit-message heredocs.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.2. Run `trellis update` (no `--migrate` needed). New dependency `better-sqlite3` for OpenCode — standard `npm install` handles it via prebuilt binaries; if the native binding fails, `tl mem` still works on other platforms."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.4",
3
+ "description": "Reverts better-sqlite3 dependency added in 0.6.0-beta.3.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(mem): `better-sqlite3` dependency removed. Reverts the OpenCode SQLite reader added in 0.6.0-beta.3. Fixes `npm install -g @mindfoldhq/trellis@beta` failure when the prebuilt binary download fails and no local C toolchain is available.\n- fix(mem): OpenCode platform degraded — `tl mem list / search / extract` on platform `opencode` returns empty + a one-shot stderr warning. Claude and Codex paths unchanged.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.3. Run `trellis update`."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.5",
3
+ "description": "Beta patch: cherry-picks v0.5.10 stable fixes (git-add-f prevention + Pi #246/#249) + version-update hint at session start (PR #254).",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(scripts): `add_session.py` and `task.py archive` no longer print a generic `git add .trellis && git commit` fallback when the repo's `.gitignore` excludes `.trellis/`. They now stage only specific Trellis-owned paths and auto-retry with `git add -f -- <specific-paths>` only on `ignored by` stderr. The warning text explicitly states `Do NOT use \\`git add -f .trellis/\\``, naming `.trellis/.backup-*`, `.trellis/worktrees/`, `.trellis/.template-hashes.json`, `.trellis/.runtime/`, `.trellis/.cache/` as the subpaths users should ignore individually instead. Helper centralized in `templates/trellis/scripts/common/safe_commit.py`.\n- fix(pi): Pi extension now injects `<workflow-state>` breadcrumb on every `input` and `before_agent_start` event, plus a `<session-overview>` block sourced from `.trellis/scripts/get_context.py`. The `subagent` tool registration carries a `promptSnippet` with the `Active task: <path>` dispatch protocol. Closes #249.\n- fix(pi): Project-level `packages[\"npm:pi-subagents\"]` override added to `.pi/settings.json` so a globally-installed `npm:pi-subagents` cannot inject `extensions / skills / prompts / themes` into the current Trellis project. `scrubPiSettings` reverses the override on `trellis uninstall`. Closes #246.\n\n**Enhancements:**\n- feat(scripts): `get_context.py` default mode now performs a once-per-session `trellis --version` check and prepends `Trellis update available: <current> -> <latest>, run npm install -g @mindfoldhq/trellis@latest` before the context body when the local install lags. Best-effort with a 1-second timeout; failures silently skip. Marker stored under `.trellis/.runtime/` (auto-ignored). Closes #254.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.4. Run `trellis update`. Brings the four 0.5.10-line fixes / features into the 0.6 beta line."
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "0.6.0-beta.6",
3
+ "description": "Beta patch: brings v0.5.11 fixes into 0.6 beta line — drops `git add -f` auto-retry + new `session_auto_commit` config.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(scripts): drop `git add -f` auto-retry from 0.6.0-beta.5. When `.gitignore` excludes `.trellis/`, `add_session.py` and `task.py archive` print a warning and skip auto-commit instead of force-staging.\n\n**Enhancements:**\n- feat(scripts): new `session_auto_commit: true | false` in `.trellis/config.yaml` (default `true`). Set `false` to skip auto stage + commit — journal / archive files still write to disk. Closes #245.",
7
+ "migrations": [],
8
+ "configSectionsAdded": [
9
+ {
10
+ "file": ".trellis/config.yaml",
11
+ "sentinel": "session_auto_commit:",
12
+ "sectionHeading": "Session Auto-Commit"
13
+ }
14
+ ],
15
+ "notes": "Beta patch on top of 0.6.0-beta.5. Run `trellis update` — your `.trellis/config.yaml` gets a commented-out `session_auto_commit: true` block appended automatically. Uncomment and flip to `false` if your `.gitignore` excludes `.trellis/` and you want auto-commit off entirely."
16
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.7",
3
+ "description": "Beta patch: brings the v0.5.12 workflow update fix into the 0.6 beta line.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Bug Fixes:**\n- fix(update): update `.trellis/workflow.md` as a whole hash-tracked template so runtime phase routing markers, including Codex `codex-inline` / `codex-sub-agent` blocks, refresh during `trellis update`.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.6. Run `trellis update` to refresh hash-tracked workflow templates. No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.8",
3
+ "description": "Beta patch: adds task-creation consent gates and planning artifacts across workflow, hooks, skills, and platform templates.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(workflow): no-task turns now classify simple conversation, inline small work, and full Trellis tasks before task creation; complex work asks before creating a task and entering planning.\n- feat(task): `task.py create` now creates a default `prd.md`, while complex tasks require `design.md` and `implement.md` before `task.py start`.\n- feat(context): implement/check context loading now uses the same artifact order across hook-push, pull-prelude, Pi, OpenCode, and inline modes: jsonl entries -> `prd.md` -> optional `design.md` -> optional `implement.md`.\n- feat(codex): Codex no-task breadcrumbs include `<trellis-bootstrap>` plus explicit `<codex-mode>` text, and inline mode keeps implementation/check work in the main session.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.7. Run `trellis update` to refresh workflow, hook, skill, agent, and platform templates. No migration required."
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.6.0-beta.9",
3
+ "description": "Beta patch for trellis upgrade, OpenCode and Copilot context fixes, hook timeout defaults, and manifest continuity.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Enhancements:**\n- feat(upgrade): add `trellis upgrade` with channel-aware defaults (`latest`, `beta`, `rc`), `--tag`, and `--dry-run`; update CLI/session hints to point at the command.\n- docs(brainstorm): simplify bundled brainstorm skill/prompt templates after beta.8 planning artifact routing.\n\n**Bug Fixes:**\n- fix(upgrade): harden upgrade execution with tag validation, no shell on POSIX, Windows `cmd.exe` invocation, and troubleshooting output for npm/PATH failures.\n- fix(opencode): inject `TRELLIS_CONTEXT_ID` using the shell dialect that parses the command and recognize `env ... TRELLIS_CONTEXT_ID=...` prefixes.\n- fix(context): handle non-Git Trellis roots without fake clean Git status and discover child Git repos for unconfigured polyrepos.\n- fix(opencode): isolate Trellis sub-agent context, resolve active tasks from session context / `Active task:` hints / single-session fallback, and preserve beta.8 task artifact order.\n- fix(hooks): raise hook timeout defaults to 30s for SessionStart and 15s for per-prompt workflow injection across hook-based platforms.\n- fix(copilot): remove stale SessionStart `systemMessage` while keeping `hookSpecificOutput.additionalContext`.\n\n**Internal:**\n- chore(manifests): restore `0.5.13.json` on the beta line for stable-to-beta manifest continuity.",
7
+ "migrations": [],
8
+ "notes": "Beta patch on top of 0.6.0-beta.8. Run `trellis update` to refresh workflow, hook, OpenCode, Copilot, session-context, and skill templates. No migration required."
9
+ }
@@ -20,21 +20,25 @@ You are already the `trellis-check` sub-agent that the main session dispatched.
20
20
 
21
21
  Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
22
 
23
- - **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the check work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/prd.md` and the spec files listed in `<task-path>/check.jsonl` yourself before doing the work.
23
+ - **If the marker is present**: task artifacts, spec, and research files have already been auto-loaded for you above. Proceed with the check work directly.
24
+ - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/check.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
25
 
26
26
  ## Context
27
27
 
28
28
  Before checking, read:
29
29
  - `.trellis/spec/` - Development guidelines
30
+ - Task `prd.md` - Requirements document
31
+ - Task `design.md` - Technical design (if exists)
32
+ - Task `implement.md` - Execution plan (if exists)
30
33
  - Pre-commit checklist for quality standards
31
34
 
32
35
  ## Core Responsibilities
33
36
 
34
37
  1. **Get code changes** - Use git diff to get uncommitted code
35
- 2. **Check against specs** - Verify code follows guidelines
36
- 3. **Self-fix** - Fix issues yourself, not just report them
37
- 4. **Run verification** - typecheck and lint
38
+ 2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present
39
+ 3. **Check against specs** - Verify code follows guidelines
40
+ 4. **Self-fix** - Fix issues yourself, not just report them
41
+ 5. **Run verification** - typecheck and lint
38
42
 
39
43
  ## Important
40
44
 
@@ -53,10 +57,12 @@ git diff --name-only # List changed files
53
57
  git diff # View specific changes
54
58
  ```
55
59
 
56
- ### Step 2: Check Against Specs
60
+ ### Step 2: Check Against Specs and Task Artifacts
57
61
 
58
- Read relevant specs in `.trellis/spec/` to check code:
62
+ Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
59
63
 
64
+ - Does it satisfy the task requirements
65
+ - Does it follow the technical design and implementation plan when present
60
66
  - Does it follow directory structure conventions
61
67
  - Does it follow naming conventions
62
68
  - Does it follow code patterns
@@ -21,7 +21,7 @@ You are already the `trellis-implement` sub-agent that the main session dispatch
21
21
  Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
22
 
23
23
  - **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/prd.md`, `<task-path>/info.md` (if it exists), and the spec files listed in `<task-path>/implement.jsonl` yourself before doing the work.
24
+ - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/implement.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
25
 
26
26
  ## Context
27
27
 
@@ -29,13 +29,14 @@ Before implementing, read:
29
29
  - `.trellis/workflow.md` - Project workflow
30
30
  - `.trellis/spec/` - Development guidelines
31
31
  - Task `prd.md` - Requirements document
32
- - Task `info.md` - Technical design (if exists)
32
+ - Task `design.md` - Technical design (if exists)
33
+ - Task `implement.md` - Execution plan (if exists)
33
34
 
34
35
  ## Core Responsibilities
35
36
 
36
37
  1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
37
- 2. **Understand requirements** - Read prd.md and info.md
38
- 3. **Implement features** - Write code following specs and design
38
+ 2. **Understand task artifacts** - Read prd.md, design.md if present, and implement.md if present
39
+ 3. **Implement features** - Write code following specs and task artifacts
39
40
  4. **Self-check** - Ensure code quality
40
41
  5. **Report results** - Report completion status
41
42
 
@@ -60,15 +61,15 @@ Read relevant specs based on task type:
60
61
 
61
62
  ### 2. Understand Requirements
62
63
 
63
- Read the task's prd.md and info.md:
64
+ Read the task's prd.md, design.md if present, and implement.md if present:
64
65
 
65
66
  - What are the core requirements
66
67
  - Key points of technical design
67
- - Which files to modify/create
68
+ - Implementation order, validation commands, and rollback points
68
69
 
69
70
  ### 3. Implement Features
70
71
 
71
- - Write code following specs and technical design
72
+ - Write code following specs and task artifacts
72
73
  - Follow existing code patterns
73
74
  - Only do what's required, no over-engineering
74
75
 
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "type": "command",
12
12
  "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
13
- "timeout": 10
13
+ "timeout": 30
14
14
  }
15
15
  ]
16
16
  },
@@ -20,7 +20,7 @@
20
20
  {
21
21
  "type": "command",
22
22
  "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
23
- "timeout": 10
23
+ "timeout": 30
24
24
  }
25
25
  ]
26
26
  },
@@ -30,7 +30,7 @@
30
30
  {
31
31
  "type": "command",
32
32
  "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
33
- "timeout": 10
33
+ "timeout": 30
34
34
  }
35
35
  ]
36
36
  }
@@ -63,7 +63,7 @@
63
63
  {
64
64
  "type": "command",
65
65
  "command": "{{PYTHON_CMD}} .claude/hooks/inject-workflow-state.py",
66
- "timeout": 5
66
+ "timeout": 15
67
67
  }
68
68
  ]
69
69
  }
@@ -20,21 +20,25 @@ You are already the `trellis-check` sub-agent that the main session dispatched.
20
20
 
21
21
  Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
22
 
23
- - **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the check work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/prd.md` and the spec files listed in `<task-path>/check.jsonl` yourself before doing the work.
23
+ - **If the marker is present**: task artifacts, spec, and research files have already been auto-loaded for you above. Proceed with the check work directly.
24
+ - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/check.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
25
 
26
26
  ## Context
27
27
 
28
28
  Before checking, read:
29
29
  - `.trellis/spec/` - Development guidelines
30
+ - Task `prd.md` - Requirements document
31
+ - Task `design.md` - Technical design (if exists)
32
+ - Task `implement.md` - Execution plan (if exists)
30
33
  - Pre-commit checklist for quality standards
31
34
 
32
35
  ## Core Responsibilities
33
36
 
34
37
  1. **Get code changes** - Use git diff to get uncommitted code
35
- 2. **Check against specs** - Verify code follows guidelines
36
- 3. **Self-fix** - Fix issues yourself, not just report them
37
- 4. **Run verification** - typecheck and lint
38
+ 2. **Review task artifacts** - Check changes against prd.md, design.md if present, and implement.md if present
39
+ 3. **Check against specs** - Verify code follows guidelines
40
+ 4. **Self-fix** - Fix issues yourself, not just report them
41
+ 5. **Run verification** - typecheck and lint
38
42
 
39
43
  ## Important
40
44
 
@@ -53,10 +57,12 @@ git diff --name-only # List changed files
53
57
  git diff # View specific changes
54
58
  ```
55
59
 
56
- ### Step 2: Check Against Specs
60
+ ### Step 2: Check Against Specs and Task Artifacts
57
61
 
58
- Read relevant specs in `.trellis/spec/` to check code:
62
+ Read the task's prd.md, design.md if present, and implement.md if present, then read relevant specs in `.trellis/spec/` to check code:
59
63
 
64
+ - Does it satisfy the task requirements
65
+ - Does it follow the technical design and implementation plan when present
60
66
  - Does it follow directory structure conventions
61
67
  - Does it follow naming conventions
62
68
  - Does it follow code patterns
@@ -21,7 +21,7 @@ You are already the `trellis-implement` sub-agent that the main session dispatch
21
21
  Look for the `<!-- trellis-hook-injected -->` marker in your input above.
22
22
 
23
23
  - **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.
24
- - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/prd.md`, `<task-path>/info.md` (if it exists), and the spec files listed in `<task-path>/implement.jsonl` yourself before doing the work.
24
+ - **If the marker is absent**: hook injection didn't fire (Windows + Claude Code, `--continue` resume, fork distribution, hooks disabled, etc.). Find the active task path from your dispatch prompt's first line `Active task: <path>`, then Read `<task-path>/implement.jsonl`, each listed file, `<task-path>/prd.md`, `<task-path>/design.md` if present, and `<task-path>/implement.md` if present before doing the work.
25
25
 
26
26
  ## Context
27
27
 
@@ -29,13 +29,14 @@ Before implementing, read:
29
29
  - `.trellis/workflow.md` - Project workflow
30
30
  - `.trellis/spec/` - Development guidelines
31
31
  - Task `prd.md` - Requirements document
32
- - Task `info.md` - Technical design (if exists)
32
+ - Task `design.md` - Technical design (if exists)
33
+ - Task `implement.md` - Execution plan (if exists)
33
34
 
34
35
  ## Core Responsibilities
35
36
 
36
37
  1. **Understand specs** - Read relevant spec files in `.trellis/spec/`
37
- 2. **Understand requirements** - Read prd.md and info.md
38
- 3. **Implement features** - Write code following specs and design
38
+ 2. **Understand task artifacts** - Read prd.md, design.md if present, and implement.md if present
39
+ 3. **Implement features** - Write code following specs and task artifacts
39
40
  4. **Self-check** - Ensure code quality
40
41
  5. **Report results** - Report completion status
41
42
 
@@ -60,15 +61,15 @@ Read relevant specs based on task type:
60
61
 
61
62
  ### 2. Understand Requirements
62
63
 
63
- Read the task's prd.md and info.md:
64
+ Read the task's prd.md, design.md if present, and implement.md if present:
64
65
 
65
66
  - What are the core requirements
66
67
  - Key points of technical design
67
- - Which files to modify/create
68
+ - Implementation order, validation commands, and rollback points
68
69
 
69
70
  ### 3. Implement Features
70
71
 
71
- - Write code following specs and technical design
72
+ - Write code following specs and task artifacts
72
73
  - Follow existing code patterns
73
74
  - Only do what's required, no over-engineering
74
75
 
@@ -7,7 +7,7 @@
7
7
  {
8
8
  "type": "command",
9
9
  "command": "{{PYTHON_CMD}} .codebuddy/hooks/session-start.py",
10
- "timeout": 10
10
+ "timeout": 30
11
11
  }
12
12
  ]
13
13
  },
@@ -17,7 +17,7 @@
17
17
  {
18
18
  "type": "command",
19
19
  "command": "{{PYTHON_CMD}} .codebuddy/hooks/session-start.py",
20
- "timeout": 10
20
+ "timeout": 30
21
21
  }
22
22
  ]
23
23
  },
@@ -27,7 +27,7 @@
27
27
  {
28
28
  "type": "command",
29
29
  "command": "{{PYTHON_CMD}} .codebuddy/hooks/session-start.py",
30
- "timeout": 10
30
+ "timeout": 30
31
31
  }
32
32
  ]
33
33
  }
@@ -50,7 +50,7 @@
50
50
  {
51
51
  "type": "command",
52
52
  "command": "{{PYTHON_CMD}} .codebuddy/hooks/inject-workflow-state.py",
53
- "timeout": 5
53
+ "timeout": 15
54
54
  }
55
55
  ]
56
56
  }
@@ -26,12 +26,12 @@ Try in order — stop at the first one that yields a task path:
26
26
 
27
27
  ### Step 2: Load task context from the resolved path
28
28
 
29
- 1. Read the task's `prd.md` (requirements) and `info.md` if it exists (technical design).
30
- 2. Read `<task-path>/check.jsonl` — JSONL list of dev spec files relevant to this agent.
31
- 3. For each entry in the JSONL, Read its `file` path — these are the dev specs you must follow.
29
+ 1. Read `<task-path>/check.jsonl` JSONL list of spec/research files relevant to this agent.
30
+ 2. For each entry in the JSONL, Read its `file` path these are the specs and research notes you must follow.
32
31
  **Skip rows without a `"file"` field** (e.g. `{"_example": "..."}` seed rows left over from `task.py create` before the curator ran).
32
+ 3. Read the task's `prd.md` (requirements), then `design.md` if present (technical design), then `implement.md` if present (execution plan).
33
33
 
34
- If `check.jsonl` has no curated entries (only a seed row, or the file is missing), fall back to: read `prd.md`, list available specs with `python3 ./.trellis/scripts/get_context.py --mode packages`, and pick the specs that match the task domain yourself. Do NOT block on the missing jsonl — proceed with prd-only context plus your spec judgment.
34
+ If `check.jsonl` has no curated entries (only a seed row, or the file is missing), fall back to: read the task artifacts, list available specs with `python3 ./.trellis/scripts/get_context.py --mode packages`, and pick the specs that match the task domain yourself. Do NOT block on the missing jsonl — lightweight tasks may be PRD-only, while complex tasks may also include `design.md` and `implement.md`.
35
35
 
36
36
  If the resolved task path has no `prd.md`, ask the user what to work on; do NOT proceed without context.
37
37
 
@@ -26,12 +26,12 @@ Try in order — stop at the first one that yields a task path:
26
26
 
27
27
  ### Step 2: Load task context from the resolved path
28
28
 
29
- 1. Read the task's `prd.md` (requirements) and `info.md` if it exists (technical design).
30
- 2. Read `<task-path>/implement.jsonl` — JSONL list of dev spec files relevant to this agent.
31
- 3. For each entry in the JSONL, Read its `file` path — these are the dev specs you must follow.
29
+ 1. Read `<task-path>/implement.jsonl` JSONL list of spec/research files relevant to this agent.
30
+ 2. For each entry in the JSONL, Read its `file` path these are the specs and research notes you must follow.
32
31
  **Skip rows without a `"file"` field** (e.g. `{"_example": "..."}` seed rows left over from `task.py create` before the curator ran).
32
+ 3. Read the task's `prd.md` (requirements), then `design.md` if present (technical design), then `implement.md` if present (execution plan).
33
33
 
34
- If `implement.jsonl` has no curated entries (only a seed row, or the file is missing), fall back to: read `prd.md`, list available specs with `python3 ./.trellis/scripts/get_context.py --mode packages`, and pick the specs that match the task domain yourself. Do NOT block on the missing jsonl — proceed with prd-only context plus your spec judgment.
34
+ If `implement.jsonl` has no curated entries (only a seed row, or the file is missing), fall back to: read the task artifacts, list available specs with `python3 ./.trellis/scripts/get_context.py --mode packages`, and pick the specs that match the task domain yourself. Do NOT block on the missing jsonl — lightweight tasks may be PRD-only, while complex tasks may also include `design.md` and `implement.md`.
35
35
 
36
36
  If the resolved task path has no `prd.md`, ask the user what to work on; do NOT proceed without context.
37
37
 
@@ -5,8 +5,6 @@
5
5
  #
6
6
  # [projects."/abs/path/to/this/repo"]
7
7
  # trust_level = "trusted"
8
- #
9
- # Without trust, the [features] block below is loaded but disabled.
10
8
 
11
9
  # Keep AGENTS.md as the primary project instruction file.
12
10
  project_doc_fallback_filenames = ["AGENTS.md"]
@@ -19,17 +17,12 @@ project_doc_fallback_filenames = ["AGENTS.md"]
19
17
  # Codex 0.129+ additionally gates each installed hook behind a one-time
20
18
  # `/hooks` TUI review; until the user approves it, the hook stays inactive.
21
19
 
22
- # multi_agent_v2 forces structured subagent orchestration with the
23
- # `wait` tool parent must block on terminal status before acting,
24
- # instead of cancelling / re-spawning. Incompatible with
25
- # [agents].max_threads (codex will reject the combination).
26
- # `enabled = true` is required inside the table the table form does
27
- # NOT auto-enable the feature without it.
28
- # - max_concurrent_threads_per_session: bumps default 4 6.
29
- # - min_wait_timeout_ms: 480000 ms = 8 min. Codex default is 10 s, too
30
- # short for Trellis subagents that routinely take 2-10 min. Hard
31
- # ceiling is 3,600,000 (1 h).
32
- [features.multi_agent_v2]
33
- enabled = true
34
- max_concurrent_threads_per_session = 6
35
- min_wait_timeout_ms = 480000
20
+ # NOTE: Trellis intentionally does NOT write a [features.multi_agent_v2]
21
+ # block here. Codex CLI changed `features` deserialization between 0.130
22
+ # and 0.131: the structured table form (with max_concurrent_threads_per_session
23
+ # / *_wait_timeout_ms) is only accepted by 0.131+. On 0.130 and earlier
24
+ # including the codex CLI bundled inside the Codex desktop app it fails
25
+ # with `data did not match any variant of untagged enum FeatureToml`, which
26
+ # aborts the entire config load and blocks Codex from starting. Codex's own
27
+ # default for multi_agent_v2 is used instead; tune it in your user-level
28
+ # config if needed.