Files
Orchestrator/shared/AI-Orchestrator/README.md
T
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

3.1 KiB

AI-Orchestrator

A Python implementation of the Symphony specification — a service that orchestrates coding agents to get project work done.

Symphony turns project work into isolated, autonomous implementation runs, allowing teams to manage work instead of supervising coding agents.

Architecture

┌─────────────────────────────────────────────────────────┐
│                    AI-Orchestrator                        │
├─────────────────────────────────────────────────────────┤
│  Policy Layer        │ WORKFLOW.md (repo-defined)        │
│  Configuration Layer │ Typed config from front matter    │
│  Coordination Layer  │ Orchestrator (poll/dispatch)      │
│  Execution Layer     │ Workspace + Agent subprocess      │
│  Integration Layer   │ Linear adapter                    │
│  Observability Layer │ Logs + HTTP status surface        │
└─────────────────────────────────────────────────────────┘

Components

  • Workflow Loader — Reads and parses WORKFLOW.md (YAML front matter + prompt template)
  • Config Layer — Typed getters, defaults, env var resolution, validation
  • Issue Tracker Client — Linear GraphQL adapter with pagination and normalization
  • Orchestrator — Poll loop, dispatch, concurrency, retries, reconciliation
  • Workspace Manager — Per-issue workspace lifecycle and hooks
  • Agent Runner — Codex app-server subprocess integration
  • HTTP Server — Optional REST API and dashboard for observability

Quick Start

Requirements

  • Python 3.11+
  • A Linear API key (set LINEAR_API_KEY env var)
  • Codex CLI installed (codex app-server)

Installation

cd AI-Orchestrator
pip install -e .

Configuration

Create a WORKFLOW.md in your project root:

---
tracker:
  kind: linear
  api_key: $LINEAR_API_KEY
  project_slug: your-project-slug
polling:
  interval_ms: 30000
workspace:
  root: ~/symphony_workspaces
agent:
  max_concurrent_agents: 5
  max_turns: 20
codex:
  command: codex app-server
  approval_policy: auto-edit
  turn_timeout_ms: 3600000
---

You are working on issue {{ issue.identifier }}: {{ issue.title }}

{{ issue.description }}

{% if attempt %}
This is retry attempt {{ attempt }}. Review previous work and continue.
{% endif %}

Running

# Run with default WORKFLOW.md in current directory
ai-orchestrator

# Run with explicit workflow path
ai-orchestrator /path/to/WORKFLOW.md

# Run with HTTP server
ai-orchestrator --port 8080

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linter
ruff check .

# Type checking
mypy src/

License

Apache License 2.0