# Machine Learning Architecture

Record: `arch:machine-learning-architecture`
Kind: model
Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
Severity: contextual
Scope: ML pipeline, model serving, data
Canonical: https://banes-lab.com/ontology#arch-machine-learning-architecture

## Repair

- Refactored by: Add ML Pipeline, Version Data/Model/Config
- Detected by: missing lineage, untracked training inputs
- Violated by: unversioned data/model/config
- Measured by: [reproducibility](https://banes-lab.com/records/arch/reproducibility.md), drift, evaluation metrics
- Enforced by: MLOps gates

## requires

- [Data Pipeline](https://banes-lab.com/records/lex/data-pipeline.md)
- [Training/Inference Separation](https://banes-lab.com/records/lex/training-inference-separation.md)

## reinforces

- [Reproducibility](https://banes-lab.com/records/arch/reproducibility.md)
- [Model Governance](https://banes-lab.com/records/arch/model-governance.md)

## enables

- [Reliable Model Lifecycle](https://banes-lab.com/records/lex/reliable-model-lifecycle.md)

## conflicts-with

- [Ad-Hoc Notebook-to-Production](https://banes-lab.com/records/lex/ad-hoc-notebook-to-production.md)

## tensions-with

- [Experimentation Speed](https://banes-lab.com/records/lex/experimentation-speed.md)

## tensions

- [Machine Learning Architecture Experimentation Speed](https://banes-lab.com/records/tension/experimentation-speed-machine-learning-architecture.md)
