Summary
Track the remaining work to rebuild the full worker/orchestrator setup from the original Composio Agent Orchestrator in the Go rewrite.
The immediate MVP is worker/orchestrator communication and role-specific prompts. The full setup still needs canonical orchestrator identity, lifecycle orchestration, dashboard affordances, and richer worker management semantics.
Current state
Already present in the Go rewrite:
- Session kinds:
worker and orchestrator
POST /api/v1/sessions for worker-like session spawn
POST /api/v1/orchestrators for orchestrator spawn
ao spawn
ao send
- zellij-backed live session runtime
- per-session env:
AO_SESSION_ID, AO_PROJECT_ID, AO_ISSUE_ID, AO_DATA_DIR
- basic session lifecycle and reaper
- project registry backed by sqlite
MVP slices
Completed MVP work
Implemented in #85:
ao send prefixes messages with [from <session-id>] when called from inside an AO session.
- Worker spawn prompts include orchestrator contact instructions when a non-terminated same-project orchestrator exists.
- Orchestrator spawn prompts include coordinator-role instructions, including
ao spawn and ao send usage.
Full orchestrator setup still left
Canonical orchestrator identity
Original repo uses one deterministic orchestrator per project, usually:
<project-prefix>-orchestrator
Needed work:
Orchestrator prompt and behavior
Worker prompt and backchannel
Session manager semantics
API / CLI
Dashboard / UX
Lifecycle / automation
Suggested implementation order
- MVP communication primitives: worker prompt backchannel,
ao send sender prefix, orchestrator prompt.
- Canonical orchestrator ID/reuse semantics.
- Clean relaunch semantics.
- Dashboard and lifecycle routing polish.
Summary
Track the remaining work to rebuild the full worker/orchestrator setup from the original Composio Agent Orchestrator in the Go rewrite.
The immediate MVP is worker/orchestrator communication and role-specific prompts. The full setup still needs canonical orchestrator identity, lifecycle orchestration, dashboard affordances, and richer worker management semantics.
Current state
Already present in the Go rewrite:
workerandorchestratorPOST /api/v1/sessionsfor worker-like session spawnPOST /api/v1/orchestratorsfor orchestrator spawnao spawnao sendAO_SESSION_ID,AO_PROJECT_ID,AO_ISSUE_ID,AO_DATA_DIRMVP slices
ao sendauto-prefixes messages with[from $AO_SESSION_ID]when invoked from inside an AO-managed session. Implemented in fix: prefix ao send messages with sender session #85.Completed MVP work
Implemented in #85:
ao sendprefixes messages with[from <session-id>]when called from inside an AO session.ao spawnandao sendusage.Full orchestrator setup still left
Canonical orchestrator identity
Original repo uses one deterministic orchestrator per project, usually:
Needed work:
{project}-{num}.POST /api/v1/orchestratorsreuse an existing active canonical orchestrator.Orchestrator prompt and behavior
Worker prompt and backchannel
ao send --session <orchestrator-id> --message "..."command when an orchestrator exists.[from <session>]prefix.Session manager semantics
orchestrator/<session-id>.API / CLI
ao orchestrator startor similar if needed.ao startoptionally ensure project orchestrator.ao spawnoutput mention the project orchestrator if present.Dashboard / UX
Lifecycle / automation
Suggested implementation order
ao sendsender prefix, orchestrator prompt.