# Core Concepts (/docs/concepts)



Ductor clears work through one lifecycle — **priced → routed → executed →
settled → proven**. This section is the engine vocabulary underneath that
lifecycle: the concepts here are how a <TechnicalName public="work item" api="Routable" />
actually gets executed and routed. The public primitives — Work, Route,
Settlement, and the <Term name="Receipt" /> — are defined in the
[glossary](/docs/reference/glossary); the pages below are the mechanisms that
carry them.

Under the hood Ductor is two engines sharing one substrate. A **Go DAG workflow
engine** runs durable, multi-step processes (the *executed* stage); a **routing
engine** turns an incoming event into a concrete assignment (the *routed*
stage). Both sit on **Postgres** (the source of truth) plus **Redis/Dragonfly**
(wakeups and hot counters), and both are driven by the same shape: a
single-writer **coordinator** — the "tick" engine — owns all state transitions,
while **stateless workers** execute the side effects in parallel and only ever
append results.

Read this section before the deeper
[Architecture](/docs/architecture), [Strategies](/docs/strategies),
[Workflows](/docs/management/workflows), [AI](/docs/ai), and
[SDK](/docs/sdks) sections — each of those assumes the model laid out here.

## The concepts [#the-concepts]

<Cards>
  <Card title="Coordinator & Step Workers" href="/docs/concepts/coordinator-workers">
    The single-writer coordinator + append-only workers that keep run state correct under concurrency.
  </Card>

  <Card title="The DAG Workflow Model" href="/docs/concepts/dag-workflow-model">
    Steps, edges, scatter/gather, sub-workflows, waits, and ContinueAsNew — the vocabulary for durable work.
  </Card>

  <Card title="Routing Pipeline" href="/docs/concepts/routing-pipeline">
    How a routable event flows through registered stages to a concrete assignment.
  </Card>

  <Card title="The Tiered Fair Queue" href="/docs/concepts/tiered-queue">
    How step tasks and coordinator wakeups are delivered fairly across tenants.
  </Card>

  <Card title="Optimistic Locking" href="/docs/concepts/optimistic-locking">
    The `record_version` primitive that makes every tick commit race-free.
  </Card>

  <Card title="Idempotency & Exactly-Once" href="/docs/concepts/idempotency">
    How durable append plus dedup keys turn at-least-once dispatch into effectively-once work.
  </Card>

  <Card title="Deduplication & Outcomes" href="/docs/concepts/deduplication-and-outcomes">
    Suppress duplicate inbound work, then feed outcomes back into learning and billing.
  </Card>

  <Card title="Events & Event Sourcing" href="/docs/concepts/events">
    The trigger plane plus Ductor's three distinct event systems — sourcing, bus, and journal.
  </Card>

  <Card title="Connectors" href="/docs/concepts/connectors">
    How a step reaches the provider catalog with credentials encrypted at rest.
  </Card>

  <Card title="Tenancy" href="/docs/concepts/tenancy">
    How every run, decision, and counter is scoped to a tenant.
  </Card>

  <Card title="Entitlements" href="/docs/concepts/entitlements">
    The quota and plan checks that gate the hot path.
  </Card>
</Cards>
