{
  "version": "0.5.7",
  "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).",
  "breaking": false,
  "recommendMigrate": false,
  "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`.",
  "migrations": [],
  "configSectionsAdded": [
    {
      "file": ".trellis/config.yaml",
      "sentinel": "codex:",
      "sectionHeading": "Codex (dispatch behavior)"
    }
  ],
  "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."
}
