{
  "code": null,
  "collection": "architecture",
  "href": "https://banes-lab.com/ontology#architecture-consistency",
  "id": "consistency",
  "kind": "quality-attribute",
  "layer": {
    "href": "https://banes-lab.com/ontology/schema#layer-atomic-boundary",
    "json": "https://banes-lab.com/json/records/layer/atomic-boundary",
    "label": "Atomic Boundary",
    "markdown": "https://banes-lab.com/records/layer/atomic-boundary.md",
    "ref": "layer:atomic-boundary"
  },
  "name": "Consistency",
  "ref": "architecture:consistency",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-invariant",
          "json": "https://banes-lab.com/json/records/architecture/invariant",
          "label": "Invariant",
          "markdown": "https://banes-lab.com/records/architecture/invariant.md",
          "ref": "architecture:invariant"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-validation",
          "json": "https://banes-lab.com/json/records/architecture/validation",
          "label": "Validation",
          "markdown": "https://banes-lab.com/records/architecture/validation.md",
          "ref": "architecture:validation"
        }
      ],
      "relation": "requires"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-correctness",
          "json": "https://banes-lab.com/json/records/architecture/correctness",
          "label": "Correctness",
          "markdown": "https://banes-lab.com/records/architecture/correctness.md",
          "ref": "architecture:correctness"
        }
      ],
      "relation": "reinforces"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-reliable-state",
          "json": "https://banes-lab.com/json/records/lexicon/reliable-state",
          "label": "Reliable State",
          "markdown": "https://banes-lab.com/records/lexicon/reliable-state.md",
          "ref": "lexicon:reliable-state"
        }
      ],
      "relation": "enables"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-inconsistent-replicas-models",
          "json": "https://banes-lab.com/json/records/lexicon/inconsistent-replicas-models",
          "label": "Inconsistent Replicas/Models",
          "markdown": "https://banes-lab.com/records/lexicon/inconsistent-replicas-models.md",
          "ref": "lexicon:inconsistent-replicas-models"
        }
      ],
      "relation": "conflicts-with"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-availability",
          "json": "https://banes-lab.com/json/records/lexicon/availability",
          "label": "Availability",
          "markdown": "https://banes-lab.com/records/lexicon/availability.md",
          "ref": "lexicon:availability"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-latency",
          "json": "https://banes-lab.com/json/records/architecture/latency",
          "label": "Latency",
          "markdown": "https://banes-lab.com/records/architecture/latency.md",
          "ref": "architecture:latency"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-decentralization",
          "json": "https://banes-lab.com/json/records/architecture/decentralization",
          "label": "Decentralization",
          "markdown": "https://banes-lab.com/records/architecture/decentralization.md",
          "ref": "architecture:decentralization"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-scalability",
          "json": "https://banes-lab.com/json/records/architecture/scalability",
          "label": "Scalability",
          "markdown": "https://banes-lab.com/records/architecture/scalability.md",
          "ref": "architecture:scalability"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-caching",
          "json": "https://banes-lab.com/json/records/architecture/caching",
          "label": "Caching",
          "markdown": "https://banes-lab.com/records/architecture/caching.md",
          "ref": "architecture:caching"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-failover",
          "json": "https://banes-lab.com/json/records/architecture/failover",
          "label": "Failover",
          "markdown": "https://banes-lab.com/records/architecture/failover.md",
          "ref": "architecture:failover"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-microservices",
          "json": "https://banes-lab.com/json/records/architecture/microservices",
          "label": "Microservices",
          "markdown": "https://banes-lab.com/records/architecture/microservices.md",
          "ref": "architecture:microservices"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-space-based-architecture",
          "json": "https://banes-lab.com/json/records/architecture/space-based-architecture",
          "label": "Space-Based Architecture",
          "markdown": "https://banes-lab.com/records/architecture/space-based-architecture.md",
          "ref": "architecture:space-based-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-consistency-decentralization",
          "json": "https://banes-lab.com/json/records/tension/consistency-decentralization",
          "label": "Decentralization / Consistency",
          "markdown": "https://banes-lab.com/records/tension/consistency-decentralization.md",
          "ref": "tension:consistency-decentralization"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-consistency-scalability",
          "json": "https://banes-lab.com/json/records/tension/consistency-scalability",
          "label": "Scalability / Consistency",
          "markdown": "https://banes-lab.com/records/tension/consistency-scalability.md",
          "ref": "tension:consistency-scalability"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-caching-consistency",
          "json": "https://banes-lab.com/json/records/tension/caching-consistency",
          "label": "Caching / Consistency",
          "markdown": "https://banes-lab.com/records/tension/caching-consistency.md",
          "ref": "tension:caching-consistency"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-consistency-failover",
          "json": "https://banes-lab.com/json/records/tension/consistency-failover",
          "label": "Failover / Consistency",
          "markdown": "https://banes-lab.com/records/tension/consistency-failover.md",
          "ref": "tension:consistency-failover"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-consistency-microservices",
          "json": "https://banes-lab.com/json/records/tension/consistency-microservices",
          "label": "Microservices / Consistency",
          "markdown": "https://banes-lab.com/records/tension/consistency-microservices.md",
          "ref": "tension:consistency-microservices"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-consistency-space-based-architecture",
          "json": "https://banes-lab.com/json/records/tension/consistency-space-based-architecture",
          "label": "Space-Based Architecture / Consistency",
          "markdown": "https://banes-lab.com/records/tension/consistency-space-based-architecture.md",
          "ref": "tension:consistency-space-based-architecture"
        }
      ],
      "relation": "tensions-with"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#tension-availability-consistency",
          "json": "https://banes-lab.com/json/records/tension/availability-consistency",
          "label": "Consistency / Availability",
          "markdown": "https://banes-lab.com/records/tension/availability-consistency.md",
          "ref": "tension:availability-consistency"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#tension-consistency-latency",
          "json": "https://banes-lab.com/json/records/tension/consistency-latency",
          "label": "Consistency / Latency",
          "markdown": "https://banes-lab.com/records/tension/consistency-latency.md",
          "ref": "tension:consistency-latency"
        }
      ],
      "relation": "tensions"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-reachable-invalid-state",
          "json": "https://banes-lab.com/json/records/lexicon/reachable-invalid-state",
          "label": "Reachable Invalid State",
          "markdown": "https://banes-lab.com/records/lexicon/reachable-invalid-state.md",
          "ref": "lexicon:reachable-invalid-state"
        }
      ],
      "relation": "violated-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-invariant-check",
          "json": "https://banes-lab.com/json/records/lexicon/invariant-check",
          "label": "Invariant Check",
          "markdown": "https://banes-lab.com/records/lexicon/invariant-check.md",
          "ref": "lexicon:invariant-check"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-introduce-transaction-boundary",
          "json": "https://banes-lab.com/json/records/lexicon/introduce-transaction-boundary",
          "label": "Introduce Transaction Boundary",
          "markdown": "https://banes-lab.com/records/lexicon/introduce-transaction-boundary.md",
          "ref": "lexicon:introduce-transaction-boundary"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-reconciliation-job",
          "json": "https://banes-lab.com/json/records/lexicon/reconciliation-job",
          "label": "Reconciliation Job",
          "markdown": "https://banes-lab.com/records/lexicon/reconciliation-job.md",
          "ref": "lexicon:reconciliation-job"
        }
      ],
      "relation": "refactored-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-severity-mandatory",
          "json": "https://banes-lab.com/json/records/vocabulary/severity-mandatory",
          "label": "mandatory",
          "markdown": "https://banes-lab.com/records/vocabulary/severity-mandatory.md",
          "ref": "vocabulary:severity-mandatory"
        }
      ],
      "relation": "severity"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-category-transactions-state-concurrency",
          "json": "https://banes-lab.com/json/records/architecture-category/transactions-state-concurrency",
          "label": "Transactions / State / Concurrency",
          "markdown": "https://banes-lab.com/records/architecture-category/transactions-state-concurrency.md",
          "ref": "architecture-category:transactions-state-concurrency"
        }
      ],
      "relation": "category"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-total-order-broadcast",
          "json": "https://banes-lab.com/json/records/architecture/total-order-broadcast",
          "label": "Total-Order Broadcast",
          "markdown": "https://banes-lab.com/records/architecture/total-order-broadcast.md",
          "ref": "architecture:total-order-broadcast"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-centralized-configuration",
          "json": "https://banes-lab.com/json/records/architecture/centralized-configuration",
          "label": "Centralized Configuration",
          "markdown": "https://banes-lab.com/records/architecture/centralized-configuration.md",
          "ref": "architecture:centralized-configuration"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-consensus",
          "json": "https://banes-lab.com/json/records/architecture/consensus",
          "label": "Consensus",
          "markdown": "https://banes-lab.com/records/architecture/consensus.md",
          "ref": "architecture:consensus"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-code-review",
          "json": "https://banes-lab.com/json/records/architecture/code-review",
          "label": "Code Review",
          "markdown": "https://banes-lab.com/records/architecture/code-review.md",
          "ref": "architecture:code-review"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-reference-architecture",
          "json": "https://banes-lab.com/json/records/architecture/reference-architecture",
          "label": "Reference Architecture",
          "markdown": "https://banes-lab.com/records/architecture/reference-architecture.md",
          "ref": "architecture:reference-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-standardization",
          "json": "https://banes-lab.com/json/records/architecture/standardization",
          "label": "Standardization",
          "markdown": "https://banes-lab.com/records/architecture/standardization.md",
          "ref": "architecture:standardization"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-single-source-of-truth",
          "json": "https://banes-lab.com/json/records/architecture/single-source-of-truth",
          "label": "Single Source of Truth",
          "markdown": "https://banes-lab.com/records/architecture/single-source-of-truth.md",
          "ref": "architecture:single-source-of-truth"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-normalization",
          "json": "https://banes-lab.com/json/records/architecture/normalization",
          "label": "Normalization",
          "markdown": "https://banes-lab.com/records/architecture/normalization.md",
          "ref": "architecture:normalization"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-governance",
          "json": "https://banes-lab.com/json/records/architecture/governance",
          "label": "Governance",
          "markdown": "https://banes-lab.com/records/architecture/governance.md",
          "ref": "architecture:governance"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-atomicity",
          "json": "https://banes-lab.com/json/records/architecture/atomicity",
          "label": "Atomicity",
          "markdown": "https://banes-lab.com/records/architecture/atomicity.md",
          "ref": "architecture:atomicity"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-unit-of-work-pattern",
          "json": "https://banes-lab.com/json/records/architecture/unit-of-work-pattern",
          "label": "Unit of Work Pattern",
          "markdown": "https://banes-lab.com/records/architecture/unit-of-work-pattern.md",
          "ref": "architecture:unit-of-work-pattern"
        }
      ],
      "relation": "reinforced-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-duplicate-code",
          "json": "https://banes-lab.com/json/records/architecture/duplicate-code",
          "label": "Do Not Repeat Yourself",
          "markdown": "https://banes-lab.com/records/architecture/duplicate-code.md",
          "ref": "architecture:duplicate-code"
        }
      ],
      "relation": "enabled-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-acid",
          "json": "https://banes-lab.com/json/records/architecture/acid",
          "label": "ACID",
          "markdown": "https://banes-lab.com/records/architecture/acid.md",
          "ref": "architecture:acid"
        }
      ],
      "relation": "required-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/disciplined-methodology#a-seat-is-a-contract",
          "json": "https://banes-lab.com/json/disciplined-methodology/start/a-seat-is-a-contract",
          "label": "A seat is a contract",
          "markdown": "https://banes-lab.com/disciplined-methodology/start/a-seat-is-a-contract.md",
          "ref": "chapter:/disciplined-methodology#a-seat-is-a-contract"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/build#placement-is-a-grammar",
          "json": "https://banes-lab.com/json/disciplined-methodology/build/placement-is-a-grammar",
          "label": "Placement is a grammar",
          "markdown": "https://banes-lab.com/disciplined-methodology/build/placement-is-a-grammar.md",
          "ref": "chapter:/disciplined-methodology/build#placement-is-a-grammar"
        },
        {
          "href": "https://banes-lab.com/software-architecture/principles#separate-trade-or-mitigate",
          "json": "https://banes-lab.com/json/software-architecture/principles/separate-trade-or-mitigate",
          "label": "Separate, trade, or mitigate",
          "markdown": "https://banes-lab.com/software-architecture/principles/separate-trade-or-mitigate.md",
          "ref": "chapter:/software-architecture/principles#separate-trade-or-mitigate"
        },
        {
          "href": "https://banes-lab.com/software-architecture/glossary#the-principle-architecture",
          "json": "https://banes-lab.com/json/software-architecture/glossary/the-principle-architecture",
          "label": "The principle architecture",
          "markdown": "https://banes-lab.com/software-architecture/glossary/the-principle-architecture.md",
          "ref": "chapter:/software-architecture/glossary#the-principle-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-causality-ordering-distributed-time",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-causality-ordering-distributed-time",
          "label": "Causality / Ordering / Distributed Time",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-causality-ordering-distributed-time.md",
          "ref": "chapter:/ontology#architecture-category-causality-ordering-distributed-time"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-contracts-interfaces-compatibility",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-contracts-interfaces-compatibility",
          "label": "Contracts / Interfaces / Compatibility",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md",
          "ref": "chapter:/ontology#architecture-category-contracts-interfaces-compatibility"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-control-coordination-centralization",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-control-coordination-centralization",
          "label": "Control / Coordination / Centralization",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-control-coordination-centralization.md",
          "ref": "chapter:/ontology#architecture-category-control-coordination-centralization"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-correctness-determinism-verification",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-correctness-determinism-verification",
          "label": "Correctness / Determinism / Verification",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md",
          "ref": "chapter:/ontology#architecture-category-correctness-determinism-verification"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-core-modular-design",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-core-modular-design",
          "label": "Core Modular Design",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md",
          "ref": "chapter:/ontology#architecture-category-core-modular-design"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-architecture-review-evolution-governance-artifacts",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-architecture-review-evolution-governance-artifacts",
          "label": "Architecture Review / Evolution / Governance Artifacts",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-architecture-review-evolution-governance-artifacts.md",
          "ref": "chapter:/ontology#architecture-category-architecture-review-evolution-governance-artifacts"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-scalability-performance-optimization",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-scalability-performance-optimization",
          "label": "Scalability / Performance / Optimization",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md",
          "ref": "chapter:/ontology#architecture-category-scalability-performance-optimization"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-self-healing-recovery-deployment-safety",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-self-healing-recovery-deployment-safety",
          "label": "Self-Healing / Recovery / Deployment Safety",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-self-healing-recovery-deployment-safety.md",
          "ref": "chapter:/ontology#architecture-category-self-healing-recovery-deployment-safety"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-schema-canonical-data-semantics",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-schema-canonical-data-semantics",
          "label": "Schema / Canonical Data / Semantics",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-schema-canonical-data-semantics.md",
          "ref": "chapter:/ontology#architecture-category-schema-canonical-data-semantics"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-security-privacy-compliance-governance",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-security-privacy-compliance-governance",
          "label": "Security / Privacy / Compliance / Governance",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-security-privacy-compliance-governance.md",
          "ref": "chapter:/ontology#architecture-category-security-privacy-compliance-governance"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-codebase-system-architecture-styles",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-codebase-system-architecture-styles",
          "label": "Codebase / System Architecture Styles",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-codebase-system-architecture-styles.md",
          "ref": "chapter:/ontology#architecture-category-codebase-system-architecture-styles"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-transactions-state-concurrency",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-transactions-state-concurrency",
          "label": "Transactions / State / Concurrency",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-transactions-state-concurrency.md",
          "ref": "chapter:/ontology#architecture-category-transactions-state-concurrency"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-correctness-determinism-verification",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-correctness-determinism-verification",
          "label": "Correctness / Determinism / Verification",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-correctness-determinism-verification.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-correctness-determinism-verification"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-domain-architecture",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-domain-architecture",
          "label": "Domain Architecture",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-domain-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-quality-attributes",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-quality-attributes",
          "label": "Quality Attributes",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-quality-attributes"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-transactions-state-concurrency",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-transactions-state-concurrency",
          "label": "Transactions / State / Concurrency",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-transactions-state-concurrency.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-transactions-state-concurrency"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-vocabulary-severity",
          "json": "https://banes-lab.com/json/ontology/schema/the-vocabulary-severity",
          "label": "Severity levels",
          "markdown": "https://banes-lab.com/ontology/schema/the-vocabulary-severity.md",
          "ref": "chapter:/ontology/schema#the-vocabulary-severity"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-resolutions",
          "json": "https://banes-lab.com/json/ontology/schema/the-resolutions",
          "label": "The resolutions",
          "markdown": "https://banes-lab.com/ontology/schema/the-resolutions.md",
          "ref": "chapter:/ontology/schema#the-resolutions"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "The degree to which stored data satisfies its invariants after every change.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology#architecture-isolation",
      "json": "https://banes-lab.com/json/records/architecture/isolation",
      "label": "Isolation",
      "markdown": "https://banes-lab.com/records/architecture/isolation.md",
      "ref": "architecture:isolation"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology#architecture-unit-of-work-pattern",
      "json": "https://banes-lab.com/json/records/architecture/unit-of-work-pattern",
      "label": "Unit of Work Pattern",
      "markdown": "https://banes-lab.com/records/architecture/unit-of-work-pattern.md",
      "ref": "architecture:unit-of-work-pattern"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/records/architecture",
    "label": "Architecture principles",
    "markdown": "https://banes-lab.com/api/records/architecture.md",
    "ref": "api:records/architecture"
  },
  "aliases": [],
  "exemplar": {
    "after": "function rebuildFoo(items: readonly FooItem[]): Foo {\n  return { items, total: sum(items), itemCount: items.length };\n}\nconst foo = rebuildFoo(items);",
    "before": "foo.total = foo.items.reduce((sum, item) => sum + item.value, 0);\nfoo.itemCount = externalCount;",
    "lang": "ts",
    "medium": "code"
  },
  "formedBy": null,
  "scope": [
    "data",
    "transaction",
    "distributed system"
  ],
  "severity": "mandatory"
}
