Skip to content

Commit 8db2712

Browse files
ruvnetrwliebs
andauthored
Merge pull request ruvnet#117 from rwliebs/feature/orchestration-stable-api
Merging stable programmatic orchestration API. Addresses ruvnet#116 - Adds library-safe orchestration runtime with explicit memory plane. Co-authored-by: Richard Liebrecht <133325103+rwliebs@users.noreply.github.com>
2 parents 22714c9 + c1ccb79 commit 8db2712

22 files changed

Lines changed: 1790 additions & 600 deletions

agentic-flow/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,27 @@ const result = await flow.route('Fix the login bug');
5757
console.log(`Best agent: ${result.agent} (${result.confidence}% confidence)`);
5858
```
5959

60+
### Programmatic orchestration API (library-safe)
61+
62+
Build systems, IDEs, and CI can drive orchestration **in-process** without spawning the CLI or MCP. Import from the **orchestration** subpath (side-effect-free; no CLI, no servers).
63+
64+
**Generic client** (recommended for build agents — stable input/output: task description, memory seed, paths, provenance):
65+
66+
```ts
67+
import { createOrchestrationClient } from 'agentic-flow/orchestration';
68+
69+
const client = createOrchestrationClient({ config: { backend: 'safe-exec' } });
70+
const { runId } = await client.startRun({
71+
taskDescription: 'Your task',
72+
acceptanceCriteria: ['Tests pass'],
73+
allowedPaths: ['src/'],
74+
provenance: { runId: 'build-1', cardId: 'card-42' },
75+
});
76+
const status = await client.getStatus(runId);
77+
```
78+
79+
**Low-level API:** `createOrchestrator`, `orchestrateTask`, `getRunStatus`, `cancelRun` — see [Orchestration API & Memory Plane](docs/architecture/orchestration-memory-plane.md). Do **not** use the default entry (`import 'agentic-flow'`) for library use; it runs the CLI and starts servers.
80+
6081
---
6182

6283
## 🎉 What's New in v2

agentic-flow/package-lock.json

Lines changed: 311 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)