Skip to main content
This page tracks the evolution of Agent Orchestrator, including new features, improvements, and breaking changes.

Recent Changes

Hash-Based Architecture Migration (2026-02-17)

Breaking Change: This release requires manual migration for existing users.
Agent Orchestrator migrated from flat, configurable directories to a hash-based project isolation architecture.

What Changed

Before:
After:

Benefits

  • Zero configuration - Paths auto-derived from config location
  • Complete isolation - Each config gets unique namespace
  • Collision-free - SHA256 hash prevents conflicts
  • Clean codebase - No backwards compatibility code

New Directory Structure

All orchestrator data now lives under ~/.agent-orchestrator/:

Hash Generation

The hash is the first 12 characters of SHA256(realpath(dirname(configPath))):
Why 12 chars? Balance between uniqueness (collision probability ~1 in 16 billion) and path length.

Migration Required

1

Clean up config file

Remove dataDir and worktreeDir from your config:
Remove these lines:
2

Kill existing sessions

3

Clean up old directories

4

Update to latest version

5

Start fresh

6

Verify new structure

Breaking Changes

REMOVED fields (will cause validation errors if present):
  • dataDir
  • worktreeDir
REQUIRED field:
  • configPath (automatically set by loadConfig())
Removed from OrchestratorConfig:
New Path Utilities:
Q: Why can’t I use my old sessions?A: The metadata file structure changed. Old sessions point to flat directories but the new code expects hash-based paths. You must kill old sessions and spawn new ones.Q: Will my PRs be lost?A: No! PRs are on GitHub, not in local sessions. Check gh pr list to see all open PRs.Q: What about in-progress work?A: Commit or stash changes in each worktree before migration. After migration, spawn new sessions and continue work.Q: Can I migrate metadata files manually?A: Not recommended. The manual process is error-prone. Better to kill old sessions and spawn fresh ones.Q: What if two configs have the same hash?A: The .origin file detects collisions and throws an error with instructions. Collision probability is ~1 in 16 billion.

Expected Downtime

  • Time: ~10 minutes
  • Risk Level: Low (PRs are safe, code is in git, only local sessions affected)
  • Benefit: Cleaner architecture, zero config, collision-free multi-instance support

Version History

Current Release

  • Hash-based architecture for improved isolation
  • Auto-detection in ao start <url>
  • 3,288 test cases for reliability
  • Security scanning with pre-commit hooks

Core Features

Plugin System

Eight plugin slots make every abstraction swappable:
  • Runtime: tmux, docker, k8s, process
  • Agent: claude-code, codex, aider, opencode
  • Workspace: worktree, clone
  • Tracker: github, linear
  • SCM: github
  • Notifier: desktop, slack, composio, webhook
  • Terminal: iterm2, web
  • Lifecycle: core

Reactions System

Auto-handle routine events:
  • CI failures - Automatically retry with failure logs
  • Review comments - Send to agent for addressing
  • PR approval - Optional auto-merge
  • Agent stuck - Escalate to human

Dashboard

  • Real-time session monitoring
  • Web-based terminal access
  • Session lifecycle management
  • Status tracking and logs

CLI

Comprehensive command-line interface:

Known Issues

Current Limitations

The web terminal may have compatibility issues on some Linux distributions due to node-pty native dependencies.Workaround: Rebuild node-pty from source:
See Troubleshooting for details.
When running multiple orchestrator instances, ensure each has:
  • Different port value in config
  • Different config file location (for unique hash)

Planned Features

Roadmap

  • GitLab integration - Full support for GitLab SCM and trackers
  • Jira integration - Issue tracking with Jira
  • Docker runtime improvements - Better container isolation
  • Kubernetes runtime - Production-ready k8s support
  • Email notifications - Email notifier plugin
  • Metrics and analytics - Session performance tracking
  • Custom dashboards - Per-project dashboard customization

Contributing

Want to contribute to the next release?
  1. Check the GitHub Issues
  2. Review Contributing Guidelines
  3. Join discussions on planned features
  4. Submit a PR with new features or fixes

Release Notes Archive

For detailed commit history, see the GitHub Releases page.

Staying Updated

To stay informed about new releases:
  1. Watch the repository on GitHub
  2. Star the project to show support
  3. Follow releases for notifications
  4. Subscribe to announcements (coming soon)

Support

Questions about changes or migrations?