Compose by intent, not by contract
Every agent exposes the same interface — run and run_background — whether the work is a 2ms on-premise hash, a blocking call to AWS Bedrock wrapped async, or a webhook to an external API. The orchestrator normalizes all of it.
That means a single request can fan out into a DAG where a model-selection agent runs a fast sync lookup, a cost agent polls pricing in parallel, a content-moderation agent runs a tight on-premise check, and the generation call goes out as a background task — all through the same interface, all settling their own costs.
You don't hardcode integrations. You publish an Open Intent — “draw me an anime girl” — and the network resolves it to the right chain of services, models, and parameters. First call discovers. Repeat calls replay the resolved route for pennies.
The DAG itself can be an agent. Composition is recursive, and it's continuously re-evaluated.