Skip to content

v0.8.0

Choose a tag to compare

@hueyexe hueyexe released this 07 Apr 06:49
· 77 commits to main since this release

Stall Detection, Auto-Merge & Plugin Configuration

Agents that go quiet now get caught. Worktree branches merge automatically on cleanup. Everything is configurable.

Stall Detection

Two independent detectors escalate to the lead when a teammate stops making progress:

  • Token-based: tracks output tokens per model step — flags when last N steps all produce < 500 tokens
  • Time-based: flags when no team_message or team_tasks_complete for 3 minutes
  • Both nudge the stalled teammate directly AND notify the lead via system message

Auto-Merge on Cleanup

  • team_cleanup now squash-merges all worktree branches into the working directory as unstaged changes
  • Stash-safe: preserves your existing staged/unstaged files during the merge cycle
  • Merge conflicts are reported to the lead — conflicted branches are skipped, not lost
  • Disable with "mergeOnCleanup": false in config

Plugin Configuration

  • New config file: ~/.config/opencode/ensemble.json (global) and .opencode/ensemble.json (project)
  • Project config overrides global, env vars override everything
  • Configurable: merge behavior, stall thresholds, timeouts, rate limits
  • Type-validated: invalid config values are silently ignored

Also in this release

  • Richer team_status: shows activity duration, last message time, and current task per member
  • Spawn circuit breaker: stops retrying after 3 consecutive spawn failures
  • Richer compaction context: teammates remember their original task prompt and recent messages after compaction
  • Inline task details in lead system prompt: active and recently completed tasks shown without calling team_tasks_list
  • Progress tracker cleanup on shutdown: prevents memory leaks for dead sessions
  • 423 tests including a new stress test harness covering full lifecycle scenarios
  • Fixed pre-existing flaky timing tests

Full Changelog: v0.7.1...v0.8.0