> ## Documentation Index
> Fetch the complete documentation index at: https://docs.manthan.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Runtime Pipeline

> The component-level implementation behind the execution lifecycle

The [Execution Lifecycle](/docs/runtime/execution-lifecycle) describes the lifecycle at the domain level. The Runtime Pipeline is how that lifecycle is actually implemented, as an ordered sequence of Runtime Components.

## Definition

From the platform glossary:

> **Runtime Pipeline** — An ordered sequence of Runtime Components that transform an immutable `ExecutionTransaction`.
>
> **Runtime Component** — A deterministic execution stage participating in the Runtime Pipeline. Each component accepts an immutable transaction and returns a new immutable transaction.

This "accept immutable, return immutable" contract is what guarantees no pipeline stage can corrupt or silently mutate a transaction mid-flight — every stage's output is a distinct, new object.

## Pipeline stages

```
ExecutionComponent → VerificationComponent → ReceiptComponent → ExecutionTrustPipeline → ExecutionTrustRecordBuilder
```

* **`ExecutionComponent`** performs the authorized execution once a Decision has approved it.
* **`VerificationComponent`** independently checks recorded evidence against the execution.
* **`ReceiptComponent`** generates the cryptographic attestation once verification succeeds.
* **`ExecutionTrustPipeline`** and **`ExecutionTrustRecordBuilder`** assemble everything into the final immutable `ExecutionTrustRecord`.

See [Architecture → Runtime Architecture](/docs/architecture/runtime-architecture) for how this fits into the broader orchestration chain, from `ExecutionTrustApplication` down to this pipeline.

## Where this lives

Pipeline implementation is in the [`runtime`](/docs/packages/runtime) package, under `packages/runtime/src/{components,stages,services}`.

<Note>
  `VerificationComponent` and `ReceiptComponent` are real, exported classes (`packages/runtime/src/components/`), but `RuntimeFactory.create` (`packages/runtime/src/RuntimeFactory.ts`) only adds `TrustChainValidationComponent` and `ExecutionComponent` to the `RuntimeBuilder`'s pipeline. Verification and Receipt generation happen as separate, direct calls to `VerificationService`/`ReceiptService` from `ExecutionTrustApplication.execute()` — not as stages the `Runtime`'s own pipeline runs. See [Packages → runtime](/docs/packages/runtime) for the exact call chain.
</Note>
