> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.6.0-beta.19

> 2026-05-19

## Enhancements

### Pi trellis\_subagent extension

The Pi extension now exposes Trellis sub-agent dispatch through `trellis_subagent` with native progress cards.

* Tool name: `trellis_subagent`, avoiding collisions with community `subagent` packages
* Dispatch modes: `single`, `parallel`, and `chain`
* Live UI: native progress card updates through `renderResult`, throttled by `THROTTLE_MS`
* Detail view: `Alt+O` expands and collapses the latest sub-agent card
* Safety: `isTrellisAgent()` rejects non-Trellis agent names before spawning child Pi processes
* Resource control: bounded stdout/stderr buffers prevent unbounded child-output growth

## Bug Fixes

### Channel durable idempotency

`@mindfoldhq/trellis-core` channel writes now support durable idempotency keys on `sendMessage` and `postThread`.

* New option: `idempotencyKey`
* Replay behavior: repeated writes with the same key return the original JSONL event
* Strict delivery: replays do not duplicate `undeliverable` events
* Validation: empty keys are rejected, and reusing a key across event kinds raises an error

### Archived task create collisions

`task.py create` now rejects a slug that already exists in `.trellis/tasks/archive/**`.

* Checks archived task directories before creating a new active task directory
* Prints the archived path that caused the collision
* Tells the user to choose a new slug for an intentional new task

### Workflow-state tool routing

`[workflow-state:in_progress]` now distinguishes sub-agent types from skills.

* `trellis-implement` and `trellis-research` are sub-agent types only
* `trellis-update-spec` is a skill
* `trellis-check` exists as both; verification after code changes should prefer the Agent form
* Prevents agents from trying to call missing `trellis-implement` / `trellis-research` skills

### Codex multi\_agent\_v2 timeout bounds

`.codex/config.toml` now emits the `multi_agent_v2` wait timeout values as a valid bounds set for Codex CLI 0.131+.

**Codex requirement:** this full timeout-bounds config requires Codex CLI `0.131.0` or newer. Codex CLI `0.128.0` through `0.130.x` only understands the earlier `enabled`, `max_concurrent_threads_per_session`, and `min_wait_timeout_ms` fields; those versions fail config loading when `default_wait_timeout_ms` or `max_wait_timeout_ms` is present.

```toml theme={null}
[features.multi_agent_v2]
enabled = true
max_concurrent_threads_per_session = 6
min_wait_timeout_ms = 480000
default_wait_timeout_ms = 480000
max_wait_timeout_ms = 3600000
```

* Fixes Codex startup failure: `default_wait_timeout_ms must be at least min_wait_timeout_ms`
* Requires Codex CLI `0.131.0+` for `default_wait_timeout_ms` and `max_wait_timeout_ms`
* Keeps the Trellis default wait at 8 minutes
* Keeps the explicit upper clamp at 1 hour
* Covers fresh `trellis init` and template refresh through `trellis update`

## Internal

### Release manifest continuity

The source tree now includes the already-shipped `0.5.17` migration manifest.

* Restores `packages/cli/src/migrations/manifests/0.5.17.json`
* Keeps `check-manifest-continuity.js` green for the beta release
* Preserves adjacent-version `trellis update` chain validation

## Upgrade

```bash theme={null}
npm install -g @mindfoldhq/trellis@beta
trellis update
```

No migration command is required.
