# Pipeline Architecture

Record: `arch:pipeline-architecture`
Kind: pattern
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: recommended
Scope: processing, dataflow, build
Canonical: https://banes-lab.com/ontology#arch-pipeline-architecture

## Repair

- Refactored by: Split into Stages, Define Stage Contracts
- Detected by: long procedural transformation chain
- Violated by: one large processor handling all stages
- Measured by: stage cohesion, stage contract coverage
- Enforced by: pipeline tests

## requires

- [Stage Contracts](https://banes-lab.com/records/lex/stage-contracts.md)

## reinforces

- [Composability](https://banes-lab.com/records/arch/composability.md)
- [Streaming](https://banes-lab.com/records/lex/streaming.md)

## enables

- [Stepwise Transformation](https://banes-lab.com/records/lex/stepwise-transformation.md)

## conflicts-with

- [Monolithic Processing Function](https://banes-lab.com/records/lex/monolithic-processing-function.md)

## tensions-with

- [Error Propagation/Debugging](https://banes-lab.com/records/lex/error-propagation-debugging.md)

## tensions

- [Pipeline Architecture Error Propagation/Debugging](https://banes-lab.com/records/tension/error-propagation-debugging-pipeline-architecture.md)

## referenced-by

- [Composability](https://banes-lab.com/records/arch/composability.md)
- [Dataflow Architecture](https://banes-lab.com/records/arch/dataflow-architecture.md)
