Skip to main content

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.
[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

npm install -g @mindfoldhq/trellis@beta
trellis update
No migration command is required.