| Definitions are JSON data, not code | A new workflow is a file and a pipeline run, not a deployment. Data model changes touch tool specs, not definitions. |
| One interpreter orchestration for all workflows | One code path to test, version, and operate. |
| Durable Task Scheduler for live state | Durability, timers, external events, sub-orchestrations, and per-run serialisation come from the service. No lock, sweeper, or reconciliation code. |
| Azure SQL for definitions and history | The organisation's system of record; queryable; mirrors to Fabric. |
| Service Bus for worker queues | Lock, delay, dead-letter, sessions, and autoscaling signals come from the service. |
| Workers pull work | Workers run anywhere with outbound HTTPS. The engine needs no route or credential to them. |
| Tools through the gateway only | One place for authentication, per-workflow scope, quotas, and audit. |
| A model proposes, the engine executes | A model never calls a tool directly. The call is a separate task, so a gate or check can sit between them. |
| Human gate before write-tier tools, enforced at registration | The safety rule is structural, not a prompt instruction. |
| No script tasks in definitions | Logic stays in tested code: workers, the action service, connectors. |
| Fixed Azure services, no provider abstraction | Fewer interfaces to maintain. Each service is the one the organisation already operates. |
| External agents called as one step through the gateway | An agent hosted elsewhere is reused without rebuilding it in a definition. The gateway keeps identity, scope, and audit the same as for tools. |