# Reproducibility

> The degree to which a build, test or training run gives the same output from the same pinned inputs on another machine.

Record: `architecture:reproducibility`
Kind: quality-attribute
Layer: [Computation Core](https://banes-lab.com/records/layer/computation-core.md)
Severity: recommended
Scope: build, test, deployment, ML
Canonical: https://banes-lab.com/ontology#architecture-reproducibility

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Immutability](https://banes-lab.com/records/architecture/immutability.md) and before [Repeatability](https://banes-lab.com/records/architecture/repeatability.md).

## Repair

- Refactored by: Pin Versions, Lock Inputs, Capture Environment
- Detected by: build output drift
- Violated by: unpinned dependencies, nondeterministic builds
- Measured by: reproducible build/test pass rate
- Enforced by: lockfiles, build verification

## Requires

- [Determinism](https://banes-lab.com/records/architecture/determinism.md)
- [Versioned Inputs](https://banes-lab.com/records/lexicon/versioned-inputs.md)

## Reinforces

- [Auditability](https://banes-lab.com/records/architecture/auditability.md)

## Enables

- [Debugging](https://banes-lab.com/records/lexicon/debugging.md)
- [Compliance](https://banes-lab.com/records/architecture/compliance.md)

## Conflicts with

- [Floating Dependencies](https://banes-lab.com/records/lexicon/floating-dependencies.md)
- [Flaky Test Normalization](https://banes-lab.com/records/architecture/flaky-test-normalization.md)

## In tension with

- [Continuous Updates](https://banes-lab.com/records/lexicon/continuous-updates.md)

## Tensions

- [Reproducibility / Continuous Updates](https://banes-lab.com/records/tension/continuous-updates-reproducibility.md)

## Severity

- [recommended](https://banes-lab.com/records/vocabulary/severity-recommended.md)

## Category

- [Correctness / Determinism / Verification](https://banes-lab.com/records/architecture-category/correctness-determinism-verification.md)

## Reinforced by

- [Environment Parity](https://banes-lab.com/records/architecture/environment-parity.md)
- [Infrastructure as Code](https://banes-lab.com/records/architecture/infrastructure-as-code.md)
- [Immutable Infrastructure](https://banes-lab.com/records/architecture/immutable-infrastructure.md)
- [Machine Learning Architecture](https://banes-lab.com/records/architecture/machine-learning-architecture.md)
- [Prompt Engineering](https://banes-lab.com/records/architecture/prompt-engineering.md)
- [Benchmarking](https://banes-lab.com/records/architecture/benchmarking.md)

## Linked from

- [Limits](https://banes-lab.com/pag/validation/limitations.md)
- [A report, not a checkbox](https://banes-lab.com/disciplined-methodology/verify/a-report-not-a-checkbox.md)
- [One correct answer](https://banes-lab.com/disciplined-methodology/verify/one-correct-answer.md)
- [Computation and resource](https://banes-lab.com/software-architecture/principles/computation-and-resource.md)
- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/architecture-category-portability-infrastructure-deployment.md)
- [Model Architecture](https://banes-lab.com/ontology/principles/architecture-category-model-architecture.md)
- [Observability / Auditability / Traceability](https://banes-lab.com/ontology/principles/architecture-category-observability-auditability-traceability.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
- [Security / Privacy / Compliance / Governance](https://banes-lab.com/ontology/principles/architecture-category-security-privacy-compliance-governance.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/lexicon/lexicon-category-correctness-determinism-verification.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
