Enhancements
Pi trellis_subagent extension
The Pi extension now exposes Trellis sub-agent dispatch throughtrellis_subagent with native progress cards.
- Tool name:
trellis_subagent, avoiding collisions with communitysubagentpackages - Dispatch modes:
single,parallel, andchain - Live UI: native progress card updates through
renderResult, throttled byTHROTTLE_MS - Detail view:
Alt+Oexpands 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
undeliverableevents - 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-implementandtrellis-researchare sub-agent types onlytrellis-update-specis a skilltrellis-checkexists as both; verification after code changes should prefer the Agent form- Prevents agents from trying to call missing
trellis-implement/trellis-researchskills
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.
- Fixes Codex startup failure:
default_wait_timeout_ms must be at least min_wait_timeout_ms - Requires Codex CLI
0.131.0+fordefault_wait_timeout_msandmax_wait_timeout_ms - Keeps the Trellis default wait at 8 minutes
- Keeps the explicit upper clamp at 1 hour
- Covers fresh
trellis initand template refresh throughtrellis update
Internal
Release manifest continuity
The source tree now includes the already-shipped0.5.17 migration manifest.
- Restores
packages/cli/src/migrations/manifests/0.5.17.json - Keeps
check-manifest-continuity.jsgreen for the beta release - Preserves adjacent-version
trellis updatechain validation