Recent Changes
Hash-Based Architecture Migration (2026-02-17)
Agent Orchestrator migrated from flat, configurable directories to a hash-based project isolation architecture.What Changed
Before: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 ofSHA256(realpath(dirname(configPath))):
Why 12 chars? Balance between uniqueness (collision probability ~1 in 16 billion) and path length.
Migration Required
Migration Steps
Migration Steps
Breaking Changes
Config File Changes
Config File Changes
REMOVED fields (will cause validation errors if present):
dataDirworktreeDir
configPath(automatically set byloadConfig())
API Changes (Plugin Developers)
API Changes (Plugin Developers)
Removed from New Path Utilities:
OrchestratorConfig:FAQ
FAQ
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
Terminal on Linux
Terminal on Linux
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.
Multiple Orchestrators
Multiple Orchestrators
When running multiple orchestrator instances, ensure each has:
- Different
portvalue 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?- Check the GitHub Issues
- Review Contributing Guidelines
- Join discussions on planned features
- 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:- Watch the repository on GitHub
- Star the project to show support
- Follow releases for notifications
- Subscribe to announcements (coming soon)
Support
Questions about changes or migrations?- Open an issue: GitHub Issues
- Review docs: Documentation
- Join discussions: GitHub Discussions
