Separate orchestration from the engine
Claude Code and Codex sit behind a CLI adapter contract. Dispatch and session management work with an engine identity instead of embedding provider-specific execution throughout the runtime.
Multi-Agent Coding Orchestration System
A persistent orchestration layer for Claude Code and Codex. Coordinate agents, workspaces, approvals and scheduled execution from Feishu / Lark.
84 seconds of real execution: task dispatch, human approval, Claude Code implementation and a follow-up in the same native session.
Synthetic demo repository · Waiting time condensed · English synthetic narration · Private conversation sidebar cropped.
A task arrives in Feishu: build POST /sum and regression tests. The team lead dispatches a product agent, which creates a specification for human approval. Once approved, local Spec/Tickets guide the developer using Claude Code. The initial implementation passes 9 tests.
A follow-up limits input to 100 numbers: 100 are accepted and 101 are rejected. All 11 tests pass. The developer’s native session identifier was compared before and after the follow-up and remained unchanged. These are results from this demo run, not production metrics.
A coding agent can execute a task. Coordinating multiple agents over time introduces a different set of problems: choosing an engine, preserving session context, routing work to the right repository and waiting for a human decision without losing the task.
Persisted sessions · Explicit approvals
A conceptual view of the orchestration responsibilities, mapped to the source modules below. Workspace boundaries select working directories; they are not an operating-system security sandbox.
Claude Code and Codex sit behind a CLI adapter contract. Dispatch and session management work with an engine identity instead of embedding provider-specific execution throughout the runtime.
Sessions are keyed by bot, chat and thread, with a separate native CLI session ID. Changing the workspace clears that native ID so context is not silently reused in another repository.
Product-document review and task execution have distinct boundaries. Approval records and resumable sessions let the conversation wait for a decision before authorized work continues.
Session changes are persisted. When saving fails, the in-memory state is restored rather than reporting a transition that was never saved.
On startup, schedule runs left in a running state are marked failed with an interruption reason. A process restart is not silently reported as successful execution.
Workspace selection, engine identity and approval scope are inspectable. The CLI runs with the host account’s permissions; deployments still require appropriate host isolation.
Source links are pinned to the reviewed revision so you can follow each implementation detail.
Session keys, allowed transitions, native IDs and persistence rollback.
src/core/session-manager.tsCollaboration tasks and routing between configured agents.
src/app/collaboration-service.tsScheduled execution and interrupted-run recovery behavior.
src/app/scheduler.tsApproval state and decision handling.
src/core/approval.tsShared registry for Claude Code and Codex engines.
src/cli/registry.tsSource-reviewed orchestration behavior. No production availability or customer deployment claim is made.