@mindfoldhq/trellis 0.5.6 → 0.5.7

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 (46) hide show
  1. package/dist/commands/init.d.ts +17 -0
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +88 -3
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/update.d.ts +29 -1
  6. package/dist/commands/update.d.ts.map +1 -1
  7. package/dist/commands/update.js +108 -1
  8. package/dist/commands/update.js.map +1 -1
  9. package/dist/configurators/codex.d.ts.map +1 -1
  10. package/dist/configurators/codex.js +22 -14
  11. package/dist/configurators/codex.js.map +1 -1
  12. package/dist/configurators/index.d.ts.map +1 -1
  13. package/dist/configurators/index.js +8 -1
  14. package/dist/configurators/index.js.map +1 -1
  15. package/dist/configurators/shared.d.ts +36 -9
  16. package/dist/configurators/shared.d.ts.map +1 -1
  17. package/dist/configurators/shared.js +71 -12
  18. package/dist/configurators/shared.js.map +1 -1
  19. package/dist/migrations/index.d.ts +8 -1
  20. package/dist/migrations/index.d.ts.map +1 -1
  21. package/dist/migrations/index.js +23 -0
  22. package/dist/migrations/index.js.map +1 -1
  23. package/dist/migrations/manifests/0.5.7.json +16 -0
  24. package/dist/templates/codex/agents/trellis-check.toml +39 -0
  25. package/dist/templates/codex/agents/trellis-implement.toml +39 -0
  26. package/dist/templates/codex/agents/trellis-research.toml +12 -0
  27. package/dist/templates/codex/config.toml +7 -4
  28. package/dist/templates/kiro/agents/trellis-check.json +15 -8
  29. package/dist/templates/kiro/agents/trellis-implement.json +15 -8
  30. package/dist/templates/kiro/agents/trellis-research.json +17 -8
  31. package/dist/templates/shared-hooks/inject-workflow-state.py +51 -5
  32. package/dist/templates/trellis/config.yaml +11 -0
  33. package/dist/templates/trellis/index.d.ts +1 -0
  34. package/dist/templates/trellis/index.d.ts.map +1 -1
  35. package/dist/templates/trellis/index.js +2 -0
  36. package/dist/templates/trellis/index.js.map +1 -1
  37. package/dist/templates/trellis/scripts/common/git_context.py +6 -1
  38. package/dist/templates/trellis/scripts/common/trellis_config.py +131 -0
  39. package/dist/templates/trellis/scripts/common/workflow_phase.py +15 -0
  40. package/dist/templates/trellis/workflow.md +24 -0
  41. package/dist/types/migration.d.ts +30 -0
  42. package/dist/types/migration.d.ts.map +1 -1
  43. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  44. package/dist/utils/uninstall-scrubbers.js +1 -0
  45. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  46. package/package.json +1 -1
@@ -5,28 +5,60 @@
5
5
  * configurators cannot import from index.ts).
6
6
  */
7
7
  /**
8
- * Get the Python command based on platform.
9
- * Windows uses 'python', macOS/Linux use 'python3'.
8
+ * Module-level resolved Python command, set by the init flow after probing.
9
+ *
10
+ * Windows commonly has Python under one of: `python`, `python3`, `py -3` —
11
+ * which one works varies by installer (python.org / Microsoft Store / py
12
+ * launcher). `init.ts` detects which is available, then calls
13
+ * `setResolvedPythonCommand` so all subsequent template / configurator writes
14
+ * use the resolved value instead of the platform default.
15
+ *
16
+ * If unset (e.g. unit tests bypass init), `getPythonCommandForPlatform` falls
17
+ * back to the static platform default (`python` on Windows, `python3`
18
+ * elsewhere) — preserving legacy behavior.
19
+ */
20
+ let resolvedPythonCommand = null;
21
+ export function setResolvedPythonCommand(cmd) {
22
+ const trimmed = cmd.trim();
23
+ resolvedPythonCommand = trimmed || null;
24
+ }
25
+ /** Test helper — clear the resolved cache between unit tests. */
26
+ export function resetResolvedPythonCommand() {
27
+ resolvedPythonCommand = null;
28
+ }
29
+ /**
30
+ * Get the Python command for the host platform.
31
+ *
32
+ * Returns the resolved command if `setResolvedPythonCommand` has been called;
33
+ * otherwise the static platform default — Windows: `python`, others:
34
+ * `python3`. Pass an explicit `platform` arg only for unit tests (it bypasses
35
+ * the resolved cache).
10
36
  */
11
- export function getPythonCommandForPlatform(platform = process.platform) {
12
- return platform === "win32" ? "python" : "python3";
37
+ export function getPythonCommandForPlatform(platform) {
38
+ if (platform === undefined && resolvedPythonCommand) {
39
+ return resolvedPythonCommand;
40
+ }
41
+ const target = platform ?? process.platform;
42
+ return target === "win32" ? "python" : "python3";
13
43
  }
14
44
  /**
15
- * Replace literal `python3` with `python` on Windows, excluding shebang lines.
45
+ * Replace literal `python3` with the resolved Python command, excluding
46
+ * shebang lines.
16
47
  *
17
- * Applied at init/update write time so that all file types (including .py, .md,
18
- * .toml, .json) get the correct command for the host platform without needing
19
- * template-level changes or runtime detection code.
48
+ * Applied at init/update write time so that all file types (including .py,
49
+ * .md, .toml, .json) get the correct command for the host platform without
50
+ * template-level changes.
20
51
  *
21
- * On non-Windows platforms this is a no-op (returns content unchanged).
22
- * The replacement is idempotent: running it twice produces the same result.
52
+ * No-op when the resolved command is `python3` (the template default).
53
+ * Idempotent: running it twice produces the same result.
23
54
  */
24
55
  export function replacePythonCommandLiterals(content) {
25
- if (process.platform !== "win32")
56
+ const target = getPythonCommandForPlatform();
57
+ if (target === "python3")
26
58
  return content;
27
59
  return content
28
60
  .split("\n")
29
- .map((line) => line.startsWith("#!") ? line : line.replaceAll("python3", "python"))
61
+ .map((line) => line.startsWith("#!") ? line : line.replaceAll("python3", target))
30
62
  .join("\n");
31
63
  }
32
64
  /**
@@ -270,6 +302,33 @@ export function resolveAllAsSkillsNeutral(ctx) {
270
302
  content: wrapWithSkillFrontmatter(`trellis-${tmpl.name}`, resolvePlaceholdersNeutral(tmpl.content, ctx)),
271
303
  }));
272
304
  }
305
+ /**
306
+ * Codex needs a `trellis-start` skill in `.agents/skills/` so the
307
+ * `<trellis-bootstrap>` notice from `inject-workflow-state.py` resolves
308
+ * to an actual skill file (the bootstrap notice tells the AI to invoke
309
+ * `$trellis-start` once on the first `no_task` turn — added in 0.5.5
310
+ * after the Codex SessionStart hook was removed for de-recursion).
311
+ *
312
+ * Built from `common/commands/start.md` + skill frontmatter; renders
313
+ * neutrally so init and update produce byte-identical output. Returns
314
+ * `null` if the template is missing (defensive — should never happen).
315
+ *
316
+ * Used by both `configureCodex()` (init path, file write) and
317
+ * `collectPlatformTemplates.codex` (update path, manifest map). Both
318
+ * paths must agree, otherwise upgraded users miss the file (which broke
319
+ * 0.4.x → 0.5.5/0.5.6 upgrades — see #247-style symptom: AI reports
320
+ * "no .agents/skills/trellis-start/SKILL.md" because update only ran
321
+ * `collectTemplates` and never wrote the file).
322
+ */
323
+ export function resolveCodexTrellisStartSkill(ctx) {
324
+ const startTemplate = getCommandTemplates().find((t) => t.name === "start");
325
+ if (!startTemplate)
326
+ return null;
327
+ return {
328
+ name: "trellis-start",
329
+ content: wrapWithSkillFrontmatter("trellis-start", resolvePlaceholdersNeutral(startTemplate.content, ctx)),
330
+ };
331
+ }
273
332
  /**
274
333
  * Resolve multi-file built-in skills.
275
334
  *
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/configurators/shared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACjD,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CACpE;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,kDAAkD;AAClD,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAC5C,MAAM,UAAU,GAAG,+BAA+B,CAAC;AACnD,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAC1D,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,cAAc,GAAG,SAAS,CAAC;AAEjC,MAAM,iBAAiB,GAAG,CAAC,eAAe,EAAE,WAAW,CAAU,CAAC;AAClE,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9B,IAAI;IACJ;QACE,GAAG,EAAE,IAAI,MAAM,CACb,UAAU,IAAI,4BAA4B,IAAI,QAAQ,EACtD,GAAG,CACJ;QACD,GAAG,EAAE,IAAI,MAAM,CACb,YAAY,IAAI,4BAA4B,IAAI,QAAQ,EACxD,GAAG,CACJ;KACF;CACF,CAAC,CACyE,CAAC;AAE9E,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,OAAyB;IAEzB,IAAI,MAAM,GAAG,4BAA4B,CACvC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,2BAA2B,EAAE,CAAC,CAC9D,CAAC;IAEF,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,uBAAuB;IACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,UAAU,EACV,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,EAAE,CAC3D,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,qBAAqB;IACrB,MAAM,UAAU,GAAwD;QACtE,aAAa,EAAE,OAAO,CAAC,YAAY;QACnC,SAAS,EAAE,OAAO,CAAC,QAAQ;KAC5B,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,yDAAyD;QACzD,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,0DAA0D;IAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,OAAyB;IAEzB,IAAI,MAAM,GAAG,4BAA4B,CACvC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,2BAA2B,EAAE,CAAC,CAC9D,CAAC;IAEF,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,0DAA0D;IAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,UAAU,EACV,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,IAAI,sBAAsB,CAC1D,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,UAAU,GAAwD;QACtE,aAAa,EAAE,OAAO,CAAC,YAAY;QACnC,SAAS,EAAE,OAAO,CAAC,QAAQ;KAC5B,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,mFAAmF;AACnF,MAAM,kBAAkB,GAA2B;IACjD,KAAK,EACH,4VAA4V;IAC9V,QAAQ,EACN,kQAAkQ;IACpQ,aAAa,EACX,mNAAmN;IACrN,YAAY,EACV,wWAAwW;IAC1W,UAAU,EACR,uUAAuU;IACzU,KAAK,EACH,8QAA8Q;IAChR,YAAY,EACV,6NAA6N;IAC/N,aAAa,EACX,oNAAoN;CACvN,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,OAAe;IAEf,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,+CAA+C,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,IAAI,mBAAmB,WAAW,aAAa,OAAO,EAAE,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,oBAAoB,GAA2B;IACnD,KAAK,EAAE,2CAA2C;IAClD,QAAQ,EAAE,uDAAuD;IACjE,aAAa,EACX,+EAA+E;CAClF,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,iDAAiD,CAC9F,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,IAAI,kBAAkB,WAAW,YAAY,OAAO,EAAE,CAAC;AAC9E,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAEL,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAetC;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,SAA2B,EAC3B,GAAoB;IAEpB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACrD,MAAM,SAAS,GAAG;QAChB,GAAG,cAAc,CAAC,mBAAmB,EAAE,EAAE,GAAG,CAAC;QAC7C,GAAG,iBAAiB,EAAE;KACvB,CAAC;IACF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,wBAAwB,CAC/B,WAAW,IAAI,CAAC,IAAI,EAAE,EACtB,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CACvC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAoB;IAClD,OAAO,cAAc,CAAC,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;KAChD,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAoB;IAChD,OAAO,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,wBAAwB,CAC/B,WAAW,IAAI,CAAC,IAAI,EAAE,EACtB,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CACvC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAoB;IACvD,OAAO,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,wBAAwB,CAC/B,WAAW,IAAI,CAAC,IAAI,EAAE,EACtB,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAC9C;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAAoB;IAEpB,MAAM,SAAS,GAAG;QAChB,GAAG,cAAc,CAAC,mBAAmB,EAAE,EAAE,GAAG,CAAC;QAC7C,GAAG,iBAAiB,EAAE;KACvB,CAAC;IACF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,wBAAwB,CAC/B,WAAW,IAAI,CAAC,IAAI,EAAE,EACtB,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAC9C;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAoB;IAEpB,OAAO,wBAAwB,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,YAAY,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;QAClD,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;KAChD,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,MAAoD,EACpD,gBAA8C,EAAE;IAEhD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,KAAK,CAAC,IAAI,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,MAA2C,EAC3C,gBAA8C,EAAE;IAEhD,SAAS,CAAC,UAAU,CAAC,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpB,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC/B,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAC5C,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,MAAM,SAAS,CACb,UAAU,EACV,4BAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAChD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,MAA2C,EAC3C,GAAG,GAAG,KAAK;IAEX,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,EAC3C,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAC5C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,QAAyE;IAEzE,MAAM,EAAE,+BAA+B,EAAE,GACvC,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,+BAA+B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAC9B,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAcD,qEAAqE;AACrE,MAAM,UAAU,qBAAqB,CAAC,SAAuB;IAC3D,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,KAAK,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAExE,OAAO,4BAA4B,CAAC;;;;;;;;;;;;;;;wBAed,KAAK;;;;OAItB,KAAK;;;;;;CAMX,CAAC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,8BAA8B,CAC5C,OAAe,EACf,SAAuB;IAEvB,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,QAAQ,CAAC,WAAW,OAAO,CAAC;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,GAAG,IAAI,OAAO,OAAO,GAAG,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,SAAuB;IAEvB,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjD,2DAA2D;IAC3D,MAAM,EAAE,GAAG,2CAA2C,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7D,OAAO,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,SAAS,wBAAwB,CAC/B,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAA+B;IAE/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,CAAC;YACJ,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACtD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,KAAK,0BAA0B,CAAC;QAChC,KAAK,gCAAgC;YACnC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,KAAK,yBAAyB;YAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wCAAwC,CAAC,OAAe;IAC/D,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI;aACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;aACtB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAExE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,MAA+B;IAE/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,OAAO,EAAE,wCAAwC,CAAC,KAAK,CAAC,OAAO,CAAC;KACjE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAA+B;IAE/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,CAAC;YACJ,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/configurators/shared.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Each version's migrations are stored in separate JSON files under manifests/
5
5
  * Format: manifests/{version}.json (e.g., manifests/0.1.9.json)
6
6
  */
7
- import type { MigrationItem } from "../types/migration.js";
7
+ import type { ConfigSectionAdded, MigrationItem } from "../types/migration.js";
8
8
  /**
9
9
  * Get all migrations needed to upgrade from one version to another
10
10
  *
@@ -38,6 +38,13 @@ export declare function getAllMigrations(): MigrationItem[];
38
38
  * Clear the manifest cache (useful for testing)
39
39
  */
40
40
  export declare function clearManifestCache(): void;
41
+ /**
42
+ * Collect every `configSectionsAdded` entry from manifests strictly between
43
+ * `fromVersion` (exclusive) and `toVersion` (inclusive). Used by `update.ts`
44
+ * to apply additive config.yaml sections that were introduced after the
45
+ * user's installed version.
46
+ */
47
+ export declare function getConfigSectionsAddedBetween(fromVersion: string, toVersion: string): ConfigSectionAdded[];
41
48
  /**
42
49
  * Get aggregated metadata for migrations between versions
43
50
  * Returns combined changelog, breaking status, migrate recommendation, and migration guides
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,uBAAuB,CAAC;AAoD9E;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAuBjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAQ/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAGlD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAOlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IACD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;CACL,CA6CA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAoD/B;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAuBjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAQ/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAGlD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAOlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,kBAAkB,EAAE,CAkBtB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IACD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;CACL,CA6CA"}
@@ -119,6 +119,29 @@ export function getAllMigrations() {
119
119
  export function clearManifestCache() {
120
120
  manifestCache = null;
121
121
  }
122
+ /**
123
+ * Collect every `configSectionsAdded` entry from manifests strictly between
124
+ * `fromVersion` (exclusive) and `toVersion` (inclusive). Used by `update.ts`
125
+ * to apply additive config.yaml sections that were introduced after the
126
+ * user's installed version.
127
+ */
128
+ export function getConfigSectionsAddedBetween(fromVersion, toVersion) {
129
+ const manifests = loadManifests();
130
+ const versions = Object.keys(manifests).sort(compareVersions);
131
+ const applicableVersions = versions.filter((v) => {
132
+ const afterFrom = compareVersions(v, fromVersion) > 0;
133
+ const atOrBeforeTo = compareVersions(v, toVersion) <= 0;
134
+ return afterFrom && atOrBeforeTo;
135
+ });
136
+ const collected = [];
137
+ for (const version of applicableVersions) {
138
+ const manifest = manifests[version];
139
+ if (manifest && Array.isArray(manifest.configSectionsAdded)) {
140
+ collected.push(...manifest.configSectionsAdded);
141
+ }
142
+ }
143
+ return collected;
144
+ }
122
145
  /**
123
146
  * Get aggregated metadata for migrations between versions
124
147
  * Returns combined changelog, breaking status, migrate recommendation, and migration guides
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "0.5.7",
3
+ "description": "Patch: Codex configurable dispatch mode + sub-agent collab-tool hard disable (#240/#241), trellis-start update-path fix, Kiro CLI schema migration (#247), Windows Python fallback chain (#236).",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "**Codex 0.129 compatibility (read first if you use Codex):**\n- `/hooks` TUI review gate: Codex 0.129 keeps each installed hook inactive until the user runs `/hooks` and approves it. Until you do, Trellis's `UserPromptSubmit` hook won't fire and every new Codex session looks like Trellis isn't wired in. The bundled `<trellis-bootstrap>` fallback in `inject-workflow-state.py` covers the gap by directing the AI to read the `trellis-start` skill manually (workflow still runs, just less smoothly). Run `/hooks` once after upgrading Codex to restore auto-injection.\n- `[features].codex_hooks` renamed to `[features].hooks`. Legacy name still works on 0.129+ but emits a deprecation warning on startup. Trellis docs and the `trellis init` runtime warning now point at the new name. The uninstall scrubber recognizes both new and legacy markers so older projects still clean up cleanly.\n\n**Enhancements:**\n- feat(codex): config-driven dispatch mode. New optional knob `codex.dispatch_mode` in `.trellis/config.yaml` lets Codex projects opt into `inline` mode where the main agent edits code directly via the `trellis-before-dev` / `trellis-check` skills instead of dispatching `trellis-implement` / `trellis-check` sub-agents. Default stays `sub-agent`, no behavior change for existing users. New manifest field `configSectionsAdded` appends the commented `codex:` section to existing `config.yaml` files on `trellis update` without touching user customizations.\n\n**Bug Fixes:**\n- fix(codex): disable Codex collab tools in sub-agent role files at protocol level (#240, #241). 0.5.5 removed the SessionStart injection vector, 0.5.6 added prompt-layer `fork_turns=\"none\"` guidance, but [Ca11back's reproduction on #241](https://github.com/mindfold-ai/Trellis/issues/241) showed the main agent still spawned with default `fork_turns=\"all\"`, the child inherited the parent's `spawn_agent(...)` records, applied the \"wait for spawned subagents\" rule to itself, and `wait_agent`-stuck on phantom children. Structural fix: each `codex/agents/trellis-{implement,check,research}.toml` now sets `[features].multi_agent = false` and `[features.multi_agent_v2].enabled = false`. With both flags off, Codex doesn't register `spawn_agent` / `wait_agent` / `list_agents` / `close_agent` for the sub-agent.\n- fix(codex): write `trellis-start` skill on update path, not just init. 0.5.5's `configureCodex()` writes `.agents/skills/trellis-start/SKILL.md` so the `<trellis-bootstrap>` notice from `inject-workflow-state.py` resolves to a real skill, but `collectPlatformTemplates.codex.collectTemplates()` (used by `trellis update`) was missed. Result: users upgrading from 0.4.x to 0.5.5/0.5.6 ran the safe-file-delete migration that removed `.agents/skills/start/`, then `trellis update` regenerated all the other trellis-* skill dirs from `collectTemplates`, but never wrote `trellis-start`. Their AI then reported \"no .agents/skills/trellis-start/SKILL.md\" on every turn that hit `<trellis-bootstrap>`. Extracted `resolveCodexTrellisStartSkill()` helper in `configurators/shared.ts`, called from both paths.\n- fix(kiro): migrate agent JSON to Kiro CLI's current schema (#247). Kiro CLI rejected Trellis's pre-0.5.7 agent JSON with \"invalid agent\". Three schema changes per [Agent Configuration Reference](https://kiro.dev/docs/cli/custom-agents/configuration-reference): (1) `instructions` becomes `prompt`; (2) adds `allowedTools` field mirroring `tools` (Kiro splits \"available\" from \"permitted\"); (3) `hooks` switched from array of `{on, command, timeout_ms}` entries to object keyed by event name (`hooks: { agentSpawn: [{ command: \"...\" }] }`). Affects all three `trellis-{implement,check,research}.json` files.\n- fix(init): Windows Python detection fallback chain (#236). `trellis init` previously tried only `python --version` on Windows. If the host had Python under `python3` (Microsoft Store) or `py -3` (python.org launcher) but not `python`, init failed outright. Now `resolveSupportedPython()` walks `python` to `python3` to `py -3` on Windows (`python3` to `python` elsewhere) and uses the first candidate that probes Python ≥ 3.9. Adds `TRELLIS_PYTHON_CMD=<cmd>` env-var override and respects pre-existing `TRELLIS_SKIP_PYTHON_CHECK=1`.",
7
+ "migrations": [],
8
+ "configSectionsAdded": [
9
+ {
10
+ "file": ".trellis/config.yaml",
11
+ "sentinel": "codex:",
12
+ "sectionHeading": "Codex (sub-agent dispatch behavior)"
13
+ }
14
+ ],
15
+ "notes": "Patch on top of 0.5.6. Run `trellis update` (no `--migrate` needed). Codex users get the new `dispatch_mode` knob (default unchanged), hardened sub-agent role files, plus the previously-init-only `trellis-start` skill on the update path. Kiro users get an agent JSON that Kiro CLI no longer rejects. Codex 0.129+ users should run `/hooks` once after upgrading Codex to approve the Trellis `UserPromptSubmit` hook."
16
+ }
@@ -10,6 +10,33 @@ CRITICAL — Recursion guard (read first):
10
10
  - Any guidance you read in injected SessionStart context, `<guidelines>` blocks, workflow-state breadcrumbs, or workflow.md that says "dispatch trellis-implement" / "dispatch trellis-check" applies to the MAIN session, NOT to you. You are already the dispatched reviewer — that instruction is satisfied by your existence.
11
11
  - Only the main session is allowed to dispatch `trellis-implement` / `trellis-check`. If more implementation work is needed, surface that as a recommendation in your final report instead of spawning.
12
12
 
13
+ ---
14
+
15
+ ## Required: Load Trellis Context First
16
+
17
+ This platform does NOT auto-inject task context via hook. Before doing anything else, you MUST load context yourself.
18
+
19
+ ### Step 1: Find the active task path
20
+
21
+ Try in order — stop at the first one that yields a task path:
22
+
23
+ 1. **Look at the dispatch prompt** you received from the main agent. If its first line is `Active task: <path>` (e.g. `Active task: .trellis/tasks/04-17-foo`), use that path. The main agent is required to include this line on class-2 platforms.
24
+ 2. **Run** `python3 ./.trellis/scripts/task.py current --source` and read the `Current task:` line.
25
+ 3. **If both fail** (no `Active task:` line in the prompt and `task.py current` returns no task), ask the user which task to work on; do NOT guess.
26
+
27
+ ### Step 2: Load task context from the resolved path
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.
32
+ **Skip rows without a `"file"` field** (e.g. `{"_example": "..."}` seed rows left over from `task.py create` before the curator ran).
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.
35
+
36
+ If the resolved task path has no `prd.md`, ask the user what to work on; do NOT proceed without context.
37
+
38
+ ---
39
+
13
40
  You are the Trellis reviewer agent.
14
41
 
15
42
  Your job is to review code changes against specs AND fix issues directly — not just report them. You have write access; use it.
@@ -43,3 +70,15 @@ Only list issues you could not self-fix (e.g. missing product decision, out-of-s
43
70
 
44
71
  If no issues are found, say so explicitly after verifying lint/type-check pass.
45
72
  """
73
+
74
+ # Disable Codex collab tools entirely for this sub-agent. With both
75
+ # multi_agent and multi_agent_v2 off, `spawn_agent` / `wait_agent` /
76
+ # `list_agents` / `close_agent` are not registered in the sub-agent's tool
77
+ # list at all — the model literally cannot call them. This is the structural
78
+ # fix for the wait_agent self-deadlock when the parent inherits its
79
+ # transcript via Codex's default `fork_turns="all"` (#240 follow-up, #241).
80
+ [features]
81
+ multi_agent = false
82
+
83
+ [features.multi_agent_v2]
84
+ enabled = false
@@ -10,6 +10,33 @@ CRITICAL — Recursion guard (read first):
10
10
  - Any guidance you read in injected SessionStart context, `<guidelines>` blocks, workflow-state breadcrumbs, or workflow.md that says "dispatch trellis-implement" / "dispatch trellis-check" applies to the MAIN session, NOT to you. You are already the dispatched implementer — that instruction is satisfied by your existence.
11
11
  - Only the main session is allowed to dispatch `trellis-implement` / `trellis-check`. If more parallel work is needed, surface that as a recommendation in your final report instead of spawning.
12
12
 
13
+ ---
14
+
15
+ ## Required: Load Trellis Context First
16
+
17
+ This platform does NOT auto-inject task context via hook. Before doing anything else, you MUST load context yourself.
18
+
19
+ ### Step 1: Find the active task path
20
+
21
+ Try in order — stop at the first one that yields a task path:
22
+
23
+ 1. **Look at the dispatch prompt** you received from the main agent. If its first line is `Active task: <path>` (e.g. `Active task: .trellis/tasks/04-17-foo`), use that path. The main agent is required to include this line on class-2 platforms.
24
+ 2. **Run** `python3 ./.trellis/scripts/task.py current --source` and read the `Current task:` line.
25
+ 3. **If both fail** (no `Active task:` line in the prompt and `task.py current` returns no task), ask the user which task to work on; do NOT guess.
26
+
27
+ ### Step 2: Load task context from the resolved path
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.
32
+ **Skip rows without a `"file"` field** (e.g. `{"_example": "..."}` seed rows left over from `task.py create` before the curator ran).
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.
35
+
36
+ If the resolved task path has no `prd.md`, ask the user what to work on; do NOT proceed without context.
37
+
38
+ ---
39
+
13
40
  You are the Trellis implementer agent.
14
41
 
15
42
  Rules:
@@ -24,3 +51,15 @@ Before finishing, summarize:
24
51
  - Tests/checks run
25
52
  - Remaining risks or follow-ups
26
53
  """
54
+
55
+ # Disable Codex collab tools entirely for this sub-agent. With both
56
+ # multi_agent and multi_agent_v2 off, `spawn_agent` / `wait_agent` /
57
+ # `list_agents` / `close_agent` are not registered in the sub-agent's tool
58
+ # list at all — the model literally cannot call them. This is the structural
59
+ # fix for the wait_agent self-deadlock when the parent inherits its
60
+ # transcript via Codex's default `fork_turns="all"` (#240 follow-up, #241).
61
+ [features]
62
+ multi_agent = false
63
+
64
+ [features.multi_agent_v2]
65
+ enabled = false
@@ -59,3 +59,15 @@ If the user asks you to edit code, decline and tell them to spawn the
59
59
  ...
60
60
  ```
61
61
  """
62
+
63
+ # Disable Codex collab tools entirely for this sub-agent. With both
64
+ # multi_agent and multi_agent_v2 off, `spawn_agent` / `wait_agent` /
65
+ # `list_agents` / `close_agent` are not registered in the sub-agent's tool
66
+ # list at all — the model literally cannot call them. This is the structural
67
+ # fix for the wait_agent self-deadlock when the parent inherits its
68
+ # transcript via Codex's default `fork_turns="all"` (#240 follow-up, #241).
69
+ [features]
70
+ multi_agent = false
71
+
72
+ [features.multi_agent_v2]
73
+ enabled = false
@@ -11,10 +11,13 @@
11
11
  # Keep AGENTS.md as the primary project instruction file.
12
12
  project_doc_fallback_filenames = ["AGENTS.md"]
13
13
 
14
- # Codex hooks (`hooks.json` in this directory) load automatically once
15
- # the project is trusted no feature flag needed. CodexHooks is Stable
16
- # and default_enabled: true in codex's feature registry; the legacy
17
- # `[features].codex_hooks = true` flag is no longer required.
14
+ # Codex hooks (`hooks.json` in this directory) only fire when the user
15
+ # has enabled them in their USER-level config: `[features].hooks = true`
16
+ # in ~/.codex/config.toml (Codex 0.129+; legacy name: `codex_hooks = true`,
17
+ # still works but emits a deprecation warning on 0.129+). Project-level
18
+ # config.toml cannot set feature flags; they must be user-level.
19
+ # Codex 0.129+ additionally gates each installed hook behind a one-time
20
+ # `/hooks` TUI review; until the user approves it, the hook stays inactive.
18
21
 
19
22
  # multi_agent_v2 forces structured subagent orchestration with the
20
23
  # `wait` tool — parent must block on terminal status before acting,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trellis-check",
3
3
  "description": "Code quality check expert. Reviews code changes against specs and self-fixes issues.",
4
- "instructions": "# Check Agent\n\nYou are the Check Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.\n\n- Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.\n- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.\n- Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.\n\n## Trellis Context Loading Protocol\n\nLook for the `<!-- trellis-hook-injected -->` marker in your input above.\n\n- **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the check work directly.\n- **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.\n\n## Context\n\nBefore checking, read:\n- `.trellis/spec/` - Development guidelines\n- Pre-commit checklist for quality standards\n\n## Core Responsibilities\n\n1. **Get code changes** - Use git diff to get uncommitted code\n2. **Check against specs** - Verify code follows guidelines\n3. **Self-fix** - Fix issues yourself, not just report them\n4. **Run verification** - typecheck and lint\n\n## Important\n\n**Fix issues yourself**, don't just report them.\n\nYou have write and edit tools, you can modify code directly.\n\n---\n\n## Workflow\n\n### Step 1: Get Changes\n\n```bash\ngit diff --name-only # List changed files\ngit diff # View specific changes\n```\n\n### Step 2: Check Against Specs\n\nRead relevant specs in `.trellis/spec/` to check code:\n\n- Does it follow directory structure conventions\n- Does it follow naming conventions\n- Does it follow code patterns\n- Are there missing types\n- Are there potential bugs\n\n### Step 3: Self-Fix\n\nAfter finding issues:\n\n1. Fix the issue directly (use edit tool)\n2. Record what was fixed\n3. Continue checking other issues\n\n### Step 4: Run Verification\n\nRun project's lint and typecheck commands to verify changes.\n\nIf failed, fix issues and re-run.\n\n---\n\n## Report Format\n\n```markdown\n## Self-Check Complete\n\n### Files Checked\n\n- src/components/Feature.tsx\n- src/hooks/useFeature.ts\n\n### Issues Found and Fixed\n\n1. `<file>:<line>` - <what was fixed>\n2. `<file>:<line>` - <what was fixed>\n\n### Issues Not Fixed\n\n(If there are issues that cannot be self-fixed, list them here with reasons)\n\n### Verification Results\n\n- TypeCheck: Passed\n- Lint: Passed\n\n### Summary\n\nChecked X files, found Y issues, all fixed.\n```",
4
+ "prompt": "# Check Agent\n\nYou are the Check Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.\n\n- Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.\n- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.\n- Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.\n\n## Trellis Context Loading Protocol\n\nLook for the `<!-- trellis-hook-injected -->` marker in your input above.\n\n- **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the check work directly.\n- **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.\n\n## Context\n\nBefore checking, read:\n- `.trellis/spec/` - Development guidelines\n- Pre-commit checklist for quality standards\n\n## Core Responsibilities\n\n1. **Get code changes** - Use git diff to get uncommitted code\n2. **Check against specs** - Verify code follows guidelines\n3. **Self-fix** - Fix issues yourself, not just report them\n4. **Run verification** - typecheck and lint\n\n## Important\n\n**Fix issues yourself**, don't just report them.\n\nYou have write and edit tools, you can modify code directly.\n\n---\n\n## Workflow\n\n### Step 1: Get Changes\n\n```bash\ngit diff --name-only # List changed files\ngit diff # View specific changes\n```\n\n### Step 2: Check Against Specs\n\nRead relevant specs in `.trellis/spec/` to check code:\n\n- Does it follow directory structure conventions\n- Does it follow naming conventions\n- Does it follow code patterns\n- Are there missing types\n- Are there potential bugs\n\n### Step 3: Self-Fix\n\nAfter finding issues:\n\n1. Fix the issue directly (use edit tool)\n2. Record what was fixed\n3. Continue checking other issues\n\n### Step 4: Run Verification\n\nRun project's lint and typecheck commands to verify changes.\n\nIf failed, fix issues and re-run.\n\n---\n\n## Report Format\n\n```markdown\n## Self-Check Complete\n\n### Files Checked\n\n- src/components/Feature.tsx\n- src/hooks/useFeature.ts\n\n### Issues Found and Fixed\n\n1. `<file>:<line>` - <what was fixed>\n2. `<file>:<line>` - <what was fixed>\n\n### Issues Not Fixed\n\n(If there are issues that cannot be self-fixed, list them here with reasons)\n\n### Verification Results\n\n- TypeCheck: Passed\n- Lint: Passed\n\n### Summary\n\nChecked X files, found Y issues, all fixed.\n```",
5
5
  "tools": [
6
6
  "read",
7
7
  "write",
@@ -9,11 +9,18 @@
9
9
  "glob",
10
10
  "grep"
11
11
  ],
12
- "hooks": [
13
- {
14
- "on": "agentSpawn",
15
- "command": "{{PYTHON_CMD}} .kiro/hooks/inject-subagent-context.py",
16
- "timeout_ms": 30000
17
- }
18
- ]
12
+ "allowedTools": [
13
+ "read",
14
+ "write",
15
+ "shell",
16
+ "glob",
17
+ "grep"
18
+ ],
19
+ "hooks": {
20
+ "agentSpawn": [
21
+ {
22
+ "command": "{{PYTHON_CMD}} .kiro/hooks/inject-subagent-context.py"
23
+ }
24
+ ]
25
+ }
19
26
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trellis-implement",
3
3
  "description": "Code implementation expert. Understands specs and requirements, then implements features. No git commit allowed.",
4
- "instructions": "# Implement Agent\n\nYou are the Implement Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.\n\n- Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.\n- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.\n- Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.\n\n## Trellis Context Loading Protocol\n\nLook for the `<!-- trellis-hook-injected -->` marker in your input above.\n\n- **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.\n- **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.\n\n## Context\n\nBefore implementing, read:\n- `.trellis/workflow.md` - Project workflow\n- `.trellis/spec/` - Development guidelines\n- Task `prd.md` - Requirements document\n- Task `info.md` - Technical design (if exists)\n\n## Core Responsibilities\n\n1. **Understand specs** - Read relevant spec files in `.trellis/spec/`\n2. **Understand requirements** - Read prd.md and info.md\n3. **Implement features** - Write code following specs and design\n4. **Self-check** - Ensure code quality\n5. **Report results** - Report completion status\n\n## Forbidden Operations\n\n**Do NOT execute these git commands:**\n\n- `git commit`\n- `git push`\n- `git merge`\n\n---\n\n## Workflow\n\n### 1. Understand Specs\n\nRead relevant specs based on task type:\n\n- Spec layers: `.trellis/spec/<package>/<layer>/`\n- Shared guides: `.trellis/spec/guides/`\n\n### 2. Understand Requirements\n\nRead the task's prd.md and info.md:\n\n- What are the core requirements\n- Key points of technical design\n- Which files to modify/create\n\n### 3. Implement Features\n\n- Write code following specs and technical design\n- Follow existing code patterns\n- Only do what's required, no over-engineering\n\n### 4. Verify\n\nRun project's lint and typecheck commands to verify changes.\n\n---\n\n## Report Format\n\n```markdown\n## Implementation Complete\n\n### Files Modified\n\n- `src/components/Feature.tsx` - New component\n- `src/hooks/useFeature.ts` - New hook\n\n### Implementation Summary\n\n1. Created Feature component...\n2. Added useFeature hook...\n\n### Verification Results\n\n- Lint: Passed\n- TypeCheck: Passed\n```\n\n---\n\n## Code Standards\n\n- Follow existing code patterns\n- Don't add unnecessary abstractions\n- Only do what's required, no over-engineering\n- Keep code readable",
4
+ "prompt": "# Implement Agent\n\nYou are the Implement Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.\n\n- Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.\n- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.\n- Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.\n\n## Trellis Context Loading Protocol\n\nLook for the `<!-- trellis-hook-injected -->` marker in your input above.\n\n- **If the marker is present**: prd / spec / research files have already been auto-loaded for you above. Proceed with the implementation work directly.\n- **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.\n\n## Context\n\nBefore implementing, read:\n- `.trellis/workflow.md` - Project workflow\n- `.trellis/spec/` - Development guidelines\n- Task `prd.md` - Requirements document\n- Task `info.md` - Technical design (if exists)\n\n## Core Responsibilities\n\n1. **Understand specs** - Read relevant spec files in `.trellis/spec/`\n2. **Understand requirements** - Read prd.md and info.md\n3. **Implement features** - Write code following specs and design\n4. **Self-check** - Ensure code quality\n5. **Report results** - Report completion status\n\n## Forbidden Operations\n\n**Do NOT execute these git commands:**\n\n- `git commit`\n- `git push`\n- `git merge`\n\n---\n\n## Workflow\n\n### 1. Understand Specs\n\nRead relevant specs based on task type:\n\n- Spec layers: `.trellis/spec/<package>/<layer>/`\n- Shared guides: `.trellis/spec/guides/`\n\n### 2. Understand Requirements\n\nRead the task's prd.md and info.md:\n\n- What are the core requirements\n- Key points of technical design\n- Which files to modify/create\n\n### 3. Implement Features\n\n- Write code following specs and technical design\n- Follow existing code patterns\n- Only do what's required, no over-engineering\n\n### 4. Verify\n\nRun project's lint and typecheck commands to verify changes.\n\n---\n\n## Report Format\n\n```markdown\n## Implementation Complete\n\n### Files Modified\n\n- `src/components/Feature.tsx` - New component\n- `src/hooks/useFeature.ts` - New hook\n\n### Implementation Summary\n\n1. Created Feature component...\n2. Added useFeature hook...\n\n### Verification Results\n\n- Lint: Passed\n- TypeCheck: Passed\n```\n\n---\n\n## Code Standards\n\n- Follow existing code patterns\n- Don't add unnecessary abstractions\n- Only do what's required, no over-engineering\n- Keep code readable",
5
5
  "tools": [
6
6
  "read",
7
7
  "write",
@@ -9,11 +9,18 @@
9
9
  "glob",
10
10
  "grep"
11
11
  ],
12
- "hooks": [
13
- {
14
- "on": "agentSpawn",
15
- "command": "{{PYTHON_CMD}} .kiro/hooks/inject-subagent-context.py",
16
- "timeout_ms": 30000
17
- }
18
- ]
12
+ "allowedTools": [
13
+ "read",
14
+ "write",
15
+ "shell",
16
+ "glob",
17
+ "grep"
18
+ ],
19
+ "hooks": {
20
+ "agentSpawn": [
21
+ {
22
+ "command": "{{PYTHON_CMD}} .kiro/hooks/inject-subagent-context.py"
23
+ }
24
+ ]
25
+ }
19
26
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trellis-research",
3
3
  "description": "Code and tech search expert. Persists findings to {TASK_DIR}/research/. No writes outside that directory.",
4
- "instructions": "# Research Agent\n\nYou are the Research Agent in the Trellis workflow.\n\n## Core Principle\n\n**You do one thing: find, explain, and PERSIST information.**\n\nConversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure the caller cannot read them next session.\n\n---\n\n## Core Responsibilities\n\n1. **Internal Search** locate files/components, understand code logic, discover patterns (Glob, Grep, Read)\n2. **External Search** library docs, API references, best practices (web search)\n3. **Persist** write each research topic to `{TASK_DIR}/research/<topic>.md`\n4. **Report** return file paths + one-line summaries to the main agent (not full content)\n\n---\n\n## Workflow\n\n### Step 1: Resolve Current Task\n\nRun `python3 ./.trellis/scripts/task.py current --source` active task path. If no active task is set, ask the user where to write output; do NOT guess.\n\nEnsure `{TASK_DIR}/research/` exists:\n\n```bash\nmkdir -p <TASK_DIR>/research\n```\n\n### Step 2: Understand Search Request\n\nClassify: internal / external / mixed. Determine scope (global / specific directory) and expected shape (file list / pattern notes / tech comparison).\n\n### Step 3: Execute Search\n\nRun independent searches in parallel (Glob + Grep + web) for efficiency.\n\n### Step 4: Persist Each Topic\n\nFor each distinct research topic, Write a markdown file at `{TASK_DIR}/research/<topic-slug>.md`. Use the File Format below.\n\n### Step 5: Report to Main Agent\n\nReply with ONLY:\n\n- List of files written (paths relative to repo root)\n- One-line summary per file\n- Any critical caveats that the main agent needs to know right now\n\nDo NOT paste full research content into the reply. The files are the contract.\n\n---\n\n## Scope Limits (Strict)\n\n### Write ALLOWED\n\n- `{TASK_DIR}/research/*.md` your own output\n- Creating `{TASK_DIR}/research/` if it doesn't exist (via `mkdir -p`)\n\n### Write FORBIDDEN\n\n- Code files (`src/`, `lib/`, )\n- Spec files (`.trellis/spec/`) main agent should use `update-spec` skill instead\n- `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.claude/`, `.cursor/`, etc.)\n- Other task directories\n- Any git operation (commit / push / branch / merge)\n\nIf the user asks you to edit code, decline and suggest spawning `implement` instead.\n\n---\n\n## File Format\n\nEach `{TASK_DIR}/research/<topic>.md` should follow:\n\n```markdown\n# Research: <topic>\n\n- **Query**: <original query>\n- **Scope**: <internal / external / mixed>\n- **Date**: <YYYY-MM-DD>\n\n## Findings\n\n### Files Found\n\n| File Path | Description |\n|---|---|\n| `src/services/xxx.ts` | Main implementation |\n| `src/types/xxx.ts` | Type definitions |\n\n### Code Patterns\n\n<describe patterns, cite file:line>\n\n### External References\n\n- [Library X docs](url) <why relevant, version constraints>\n\n### Related Specs\n\n- `.trellis/spec/xxx.md` <description>\n\n## Caveats / Not Found\n\n<anything incomplete or uncertain>\n```\n\n---\n\n## Guidelines\n\n### DO\n\n- Provide specific file paths and line numbers\n- Quote actual code snippets\n- Persist every topic to its own file\n- Return file paths in your reply, not the full content\n- Mark \"not found\" explicitly when searches come up empty\n\n### DON'T\n\n- Don't write code or modify files outside `{TASK_DIR}/research/`\n- Don't guess uncertain info\n- Don't paste full research text into the reply (files are the deliverable)\n- Don't propose improvements or critique implementation (that's not your role)\n",
4
+ "prompt": "# Research Agent\n\nYou are the Research Agent in the Trellis workflow.\n\n## Core Principle\n\n**You do one thing: find, explain, and PERSIST information.**\n\nConversations get compacted; files don't. Every research output MUST end up as a file under `{TASK_DIR}/research/`. Returning findings only through the chat reply is a failure \u2014 the caller cannot read them next session.\n\n---\n\n## Core Responsibilities\n\n1. **Internal Search** \u2014 locate files/components, understand code logic, discover patterns (Glob, Grep, Read)\n2. **External Search** \u2014 library docs, API references, best practices (web search)\n3. **Persist** \u2014 write each research topic to `{TASK_DIR}/research/<topic>.md`\n4. **Report** \u2014 return file paths + one-line summaries to the main agent (not full content)\n\n---\n\n## Workflow\n\n### Step 1: Resolve Current Task\n\nRun `python3 ./.trellis/scripts/task.py current --source` \u2192 active task path. If no active task is set, ask the user where to write output; do NOT guess.\n\nEnsure `{TASK_DIR}/research/` exists:\n\n```bash\nmkdir -p <TASK_DIR>/research\n```\n\n### Step 2: Understand Search Request\n\nClassify: internal / external / mixed. Determine scope (global / specific directory) and expected shape (file list / pattern notes / tech comparison).\n\n### Step 3: Execute Search\n\nRun independent searches in parallel (Glob + Grep + web) for efficiency.\n\n### Step 4: Persist Each Topic\n\nFor each distinct research topic, Write a markdown file at `{TASK_DIR}/research/<topic-slug>.md`. Use the File Format below.\n\n### Step 5: Report to Main Agent\n\nReply with ONLY:\n\n- List of files written (paths relative to repo root)\n- One-line summary per file\n- Any critical caveats that the main agent needs to know right now\n\nDo NOT paste full research content into the reply. The files are the contract.\n\n---\n\n## Scope Limits (Strict)\n\n### Write ALLOWED\n\n- `{TASK_DIR}/research/*.md` \u2014 your own output\n- Creating `{TASK_DIR}/research/` if it doesn't exist (via `mkdir -p`)\n\n### Write FORBIDDEN\n\n- Code files (`src/`, `lib/`, \u2026)\n- Spec files (`.trellis/spec/`) \u2014 main agent should use `update-spec` skill instead\n- `.trellis/scripts/`, `.trellis/workflow.md`, platform config (`.claude/`, `.cursor/`, etc.)\n- Other task directories\n- Any git operation (commit / push / branch / merge)\n\nIf the user asks you to edit code, decline and suggest spawning `implement` instead.\n\n---\n\n## File Format\n\nEach `{TASK_DIR}/research/<topic>.md` should follow:\n\n```markdown\n# Research: <topic>\n\n- **Query**: <original query>\n- **Scope**: <internal / external / mixed>\n- **Date**: <YYYY-MM-DD>\n\n## Findings\n\n### Files Found\n\n| File Path | Description |\n|---|---|\n| `src/services/xxx.ts` | Main implementation |\n| `src/types/xxx.ts` | Type definitions |\n\n### Code Patterns\n\n<describe patterns, cite file:line>\n\n### External References\n\n- [Library X docs](url) \u2014 <why relevant, version constraints>\n\n### Related Specs\n\n- `.trellis/spec/xxx.md` \u2014 <description>\n\n## Caveats / Not Found\n\n<anything incomplete or uncertain>\n```\n\n---\n\n## Guidelines\n\n### DO\n\n- Provide specific file paths and line numbers\n- Quote actual code snippets\n- Persist every topic to its own file\n- Return file paths in your reply, not the full content\n- Mark \"not found\" explicitly when searches come up empty\n\n### DON'T\n\n- Don't write code or modify files outside `{TASK_DIR}/research/`\n- Don't guess uncertain info\n- Don't paste full research text into the reply (files are the deliverable)\n- Don't propose improvements or critique implementation (that's not your role)\n",
5
5
  "tools": [
6
6
  "read",
7
7
  "write",
@@ -11,11 +11,20 @@
11
11
  "web_search",
12
12
  "web_fetch"
13
13
  ],
14
- "hooks": [
15
- {
16
- "on": "agentSpawn",
17
- "command": "{{PYTHON_CMD}} .kiro/hooks/inject-subagent-context.py",
18
- "timeout_ms": 30000
19
- }
20
- ]
14
+ "allowedTools": [
15
+ "read",
16
+ "write",
17
+ "glob",
18
+ "grep",
19
+ "bash",
20
+ "web_search",
21
+ "web_fetch"
22
+ ],
23
+ "hooks": {
24
+ "agentSpawn": [
25
+ {
26
+ "command": "{{PYTHON_CMD}} .kiro/hooks/inject-subagent-context.py"
27
+ }
28
+ ]
29
+ }
21
30
  }