# Correctness

> The degree to which the behavior of code matches its specification.

Record: `architecture:correctness`
Kind: quality-attribute
Layer: [Computation Core](https://banes-lab.com/records/layer/computation-core.md)
Severity: mandatory
Scope: function, module, system
Canonical: https://banes-lab.com/ontology#architecture-correctness

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

## Repair

- Refactored by: Add Tests, Fix Logic, Add Contracts
- Detected by: failing tests, invariant violations
- Violated by: behavior diverging from specification
- Measured by: defect rate, spec coverage
- Enforced by: CI, formal/static checks

## Requires

- [Specification](https://banes-lab.com/records/lexicon/specification.md)
- [Validation](https://banes-lab.com/records/architecture/validation.md)
- [Tests](https://banes-lab.com/records/lexicon/tests.md)

## Reinforces

- [Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)

## Enables

- [Safe Operation](https://banes-lab.com/records/lexicon/safe-operation.md)

## Conflicts with

- [Undefined Behavior](https://banes-lab.com/records/lexicon/undefined-behavior.md)

## In tension with

- [Delivery Speed](https://banes-lab.com/records/lexicon/delivery-speed.md)

## Tensions

- [Correctness / Delivery Speed](https://banes-lab.com/records/tension/correctness-delivery-speed.md)

## Severity

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

## Category

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

## Enforced by

- [codemods/entrypoints/code-point.entrypoint.ts](https://banes-lab.com/source/governance/codemods/entrypoints/code-point.entrypoint.ts.md)

## Reinforced by

- [Domain Model](https://banes-lab.com/records/architecture/domain-model.md)
- [Happens-Before Relationship](https://banes-lab.com/records/architecture/happens-before-relationship.md)
- [Semantic Contracts](https://banes-lab.com/records/architecture/semantic-contracts.md)
- [Postconditions](https://banes-lab.com/records/architecture/postconditions.md)
- [Invariant](https://banes-lab.com/records/architecture/invariant.md)
- [Formal Verification](https://banes-lab.com/records/architecture/formal-verification.md)
- [Specification-Based Testing](https://banes-lab.com/records/architecture/specification-based-testing.md)
- [Property-Based Testing](https://banes-lab.com/records/architecture/property-based-testing.md)
- [Verification](https://banes-lab.com/records/architecture/verification.md)
- [Fail Fast](https://banes-lab.com/records/architecture/fail-fast.md)
- [Error Handling](https://banes-lab.com/records/architecture/error-handling.md)
- [Design Review](https://banes-lab.com/records/architecture/design-review.md)
- [First-Principles Design](https://banes-lab.com/records/architecture/first-principles-design.md)
- [Model Evaluation](https://banes-lab.com/records/architecture/model-evaluation.md)
- [Finite State Machine](https://banes-lab.com/records/architecture/finite-state-machine.md)
- [Schema Validation](https://banes-lab.com/records/architecture/schema-validation.md)
- [Type Safety](https://banes-lab.com/records/architecture/type-safety.md)
- [Semantic Consistency](https://banes-lab.com/records/architecture/semantic-consistency.md)
- [Input Validation](https://banes-lab.com/records/architecture/input-validation.md)
- [Atomicity](https://banes-lab.com/records/architecture/atomicity.md)
- [ACID](https://banes-lab.com/records/architecture/acid.md)
- [Consistency](https://banes-lab.com/records/architecture/consistency.md)
- [Isolation](https://banes-lab.com/records/architecture/isolation.md)
- [Concurrency Control](https://banes-lab.com/records/architecture/concurrency-control.md)

## Enabled by

- [Preconditions](https://banes-lab.com/records/architecture/preconditions.md)
- [Single Source of Truth](https://banes-lab.com/records/architecture/single-source-of-truth.md)

## Linked from

- [Who does what](https://banes-lab.com/disciplined-methodology/start/who-does-what.md)
- [Unknown is not pass](https://banes-lab.com/disciplined-methodology/verify/unknown-is-not-pass.md)
- [Counting copies](https://banes-lab.com/disciplined-methodology/verify/counting-copies.md)
- [Coverage is derived](https://banes-lab.com/disciplined-methodology/verify/coverage-is-derived.md)
- [Separate, trade, or mitigate](https://banes-lab.com/software-architecture/principles/separate-trade-or-mitigate.md)
- [What can drift, seen through how it drifts](https://banes-lab.com/software-architecture/coverage/what-can-drift-seen-through-how-it-drifts.md)
- [Domain Architecture](https://banes-lab.com/ontology/principles/architecture-category-domain-architecture.md)
- [Causality / Ordering / Distributed Time](https://banes-lab.com/ontology/principles/architecture-category-causality-ordering-distributed-time.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Error Handling / Resilience](https://banes-lab.com/ontology/principles/architecture-category-error-handling-resilience.md)
- [Architecture Review / Evolution / Governance Artifacts](https://banes-lab.com/ontology/principles/architecture-category-architecture-review-evolution-governance-artifacts.md)
- [Model Architecture](https://banes-lab.com/ontology/principles/architecture-category-model-architecture.md)
- [Behavioral Patterns](https://banes-lab.com/ontology/principles/architecture-category-behavioral-patterns.md)
- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/architecture-category-schema-canonical-data-semantics.md)
- [Security / Privacy / Compliance / Governance](https://banes-lab.com/ontology/principles/architecture-category-security-privacy-compliance-governance.md)
- [Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/architecture-category-transactions-state-concurrency.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)
