Platform03

platform/agentic-orchestration

Six agents that call each other is not a system. It is a rumour.

The moment agents invoke one another directly, nobody can say what ran, in what order, or why — and no run can be replayed. Here they declare what they need, and a dependency graph decides everything else.

The dependency graph
taxonomy90 ms · no depsenrichment1.9 s · no depsimage studio3.4 s · no depsPARALLEL — NOTHING GATES THESEcopywriterwaits: enrichmentcompliancegate · no bypasstemplatewaits: gate + taxonomyemit ×5fan outtaxonomy → templateassets

Three agents start immediately because nothing gates them · the compliance node has no bypass

0.00s
Clean run

Feed row to five channel payloads, end to end.

0
Run in parallel

Agents with no declared dependency never wait.

0
Agent-to-agent calls

Composition is the orchestrator's job, not an agent's.

0%
Runs replayable

Ordering is derived from data, so it is reproducible.

01Three runs

The same graph, under three conditions.

The interesting one is the middle. A gate that blocks is the system working, and it is the case most pipelines handle worst.

Everything resolves. 1.68 s from feed row to five channel payloads.

Taxonomy and enrichment run in parallel because neither depends on the other. Copywriting waits on enrichment because it cannot write a claim before the attribute exists. The compliance gate clears, and emission fans out to every channel at once.

Run state · clean run
taxonomy90 msenrichment1.9 scopywriter620 mscompliancepasstemplate240 msemit ×5settled5 CHANNELS · 1.68 S TOTAL

All five channel payloads emitted from one pass

02Composition rules

Six rules that keep it debuggable.

01

Agents do not call agents

Direct agent-to-agent calls produce a system nobody can reason about or replay. Agents declare inputs and outputs; the orchestrator resolves the graph. Any run can be replayed exactly because the ordering was never decided at runtime by an agent's opinion.

02

Dependencies are data, not code

The DAG is derived from what each agent declares it needs. Adding an agent does not require editing a pipeline definition — it requires declaring an input, and the graph reshapes.

03

Gates are nodes, not middleware

A compliance gate is a first-class node with predecessors and successors. It cannot be bypassed by a code path that forgot to call it, because nothing downstream of it can run until it emits.

04

Parallel by default

Anything without a declared dependency runs concurrently. Sequencing is a consequence of the data, never a scheduling preference.

05

Invalidation flows downstream

When an input changes, everything that cited it is invalidated transitively. Nothing stale survives because nobody remembered to re-run it.

06

Partial publication is a bug

A SKU either satisfies every gate and publishes everywhere it should, or it publishes nowhere and is reported. There is no state where three channels agree and two do not.

03Critical path

The slowest agent sets the clock.

Total run time is not the sum of these. It is the longest dependent chain, which is why parallelism is a property of the graph rather than a tuning exercise.

AgentWaits on

taxonomy-categorization

90 ms

catalog-enrichment

1900 ms

image-enhancement-studio

3400 ms

content-copywriter

620 ms
enrichment

compliance-validator

310 ms
copywriter

ai-template-listing

240 ms
compliance · taxonomy

Image derivation is the longest single agent at 3.4 seconds, and it has no dependents — so it does not extend the critical path at all. The chain that actually sets the clock is enrichment → copywriter → compliance → template, at roughly 3.07 seconds, running concurrently with it.

Next

Watch a real SKU move through the graph.

We will run one of your SKUs through the full pipeline in dry-run and hand you the trace: which agents ran, which ran in parallel, what each one cited, where it gated, and what it would have emitted.

One SKU · Full trace · Nothing published