{
  "content": {
    "blocks": [
      {
        "caption": "The layer topology.",
        "kind": "mermaid",
        "text": "flowchart TB\n    n_layer_atomic_boundary[\"Atomic Boundary\"]\n    n_layer_causality_core[\"Causality Core\"]\n    n_layer_computation_core[\"Computation Core\"]\n    n_layer_contracts_core[\"Contracts Core\"]\n    n_layer_correctness_core[\"Correctness Core\"]\n    n_layer_declarative_core[\"Declarative Core\"]\n    n_layer_design_patterns_core[\"Design Patterns Core\"]\n    n_layer_domain_modeling[\"Domain Modeling\"]\n    n_layer_enforcement_core[\"Enforcement Core\"]\n    n_layer_evolution_principles[\"Evolution Principles\"]\n    n_layer_execution_core[\"Execution Core\"]\n    n_layer_extensibility_core[\"Extensibility Core\"]\n    n_layer_human_factors[\"Human Factors\"]\n    n_layer_observability[\"Observability\"]\n    n_layer_performance_core[\"Performance Core\"]\n    n_layer_resource_core[\"Resource Core\"]\n    n_layer_security_core[\"Security Core\"]\n    n_layer_structural_core[\"Structural Core\"]\n    n_layer_resource_core -- observe --> n_layer_computation_core\n    n_layer_computation_core -- feeds --> n_layer_execution_core\n    n_layer_resource_core -- feeds --> n_layer_execution_core\n    n_layer_execution_core -- feeds --> n_layer_structural_core\n    n_layer_structural_core -- feedback --> n_layer_execution_core\n    n_layer_structural_core -- feeds --> n_layer_human_factors\n    n_layer_structural_core -- feeds --> n_layer_evolution_principles\n    n_layer_evolution_principles -- feeds --> n_layer_human_factors\n    n_layer_correctness_core -- cross-cuts --> n_layer_structural_core\n    n_layer_security_core -- cross-cuts --> n_layer_structural_core\n    n_layer_performance_core -- cross-cuts --> n_layer_structural_core\n    n_layer_contracts_core -- cross-cuts --> n_layer_structural_core\n    n_layer_causality_core -- cross-cuts --> n_layer_structural_core\n    n_layer_declarative_core -- cross-cuts --> n_layer_structural_core\n    n_layer_extensibility_core -- cross-cuts --> n_layer_structural_core\n    n_layer_observability -- cross-cuts --> n_layer_structural_core\n    n_layer_enforcement_core -- cross-cuts --> n_layer_structural_core\n    n_layer_atomic_boundary -- cross-cuts --> n_layer_structural_core\n    n_layer_domain_modeling -- cross-cuts --> n_layer_structural_core\n    n_layer_design_patterns_core -- cross-cuts --> n_layer_structural_core"
      }
    ],
    "icon": "bi-layers",
    "id": "the-layer-topology",
    "intro": "The layer topology holds the four core layers, the domains beneath them, the cross-cutting domains and the edges that join them. Every layer is an algorithm contract, and each record names the categories of principle and term that belong to it. Why a layer grouping exists beside the topical one is described in [the canon is grouped twice](/software-architecture/principles#the-canon-is-grouped-twice) on the architecture page.",
    "subsections": [
      {
        "blocks": [
          {
            "items": [
              "Contract: [Atomic Boundary](/records/algorithms/atomic-boundary)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Transactions / State / Concurrency](/records/architecture-category/transactions-state-concurrency)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-atomic-boundary",
        "title": "Atomic Boundary"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Causality Core](/records/algorithms/causality-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Causality / Ordering / Distributed Time](/records/architecture-category/causality-ordering-distributed-time)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-causality-core",
        "title": "Causality Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Computation Core](/records/algorithms/computation-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Correctness / Determinism / Verification](/records/architecture-category/correctness-determinism-verification)",
                "term": "Member categories"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Execution Core](/records/layer/execution-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "[observe](/records/vocabulary/layer-edge-kind-observe) → [Resource Core](/records/layer/resource-core)",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-computation-core",
        "title": "Computation Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Contracts Core](/records/algorithms/contracts-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Contracts / Interfaces / Compatibility](/records/architecture-category/contracts-interfaces-compatibility), [Schema / Canonical Data / Semantics](/records/architecture-category/schema-canonical-data-semantics)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-contracts-core",
        "title": "Contracts Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Correctness Core](/records/algorithms/correctness-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Error Handling / Resilience](/records/architecture-category/error-handling-resilience), [Model Architecture](/records/architecture-category/model-architecture), [Self-Healing / Recovery / Deployment Safety](/records/architecture-category/self-healing-recovery-deployment-safety), [Quality Attributes](/records/lexicon-category/quality-attributes)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-correctness-core",
        "title": "Correctness Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Declarative Core](/records/algorithms/declarative-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Metadata / Self-Description / Declarative Systems](/records/architecture-category/metadata-self-description-declarative-systems), [Metaprogramming / Language-Oriented Architecture](/records/architecture-category/metaprogramming-language-oriented-architecture)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-declarative-core",
        "title": "Declarative Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Design Patterns Core](/records/algorithms/design-patterns-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Behavioral Patterns](/records/architecture-category/behavioral-patterns), [Creational Patterns](/records/architecture-category/creational-patterns), [Structural Patterns](/records/architecture-category/structural-patterns)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-design-patterns-core",
        "title": "Design Patterns Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Domain Modeling](/records/algorithms/domain-modeling)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Domain Architecture](/records/architecture-category/domain-architecture)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-domain-modeling",
        "title": "Domain Modeling"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Enforcement Core](/records/algorithms/enforcement-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[anti-patterns](/records/architecture-category/anti-patterns)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-enforcement-core",
        "title": "Enforcement Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Evolution Principles](/records/algorithms/evolution-principles)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Architecture Review / Evolution / Governance Artifacts](/records/architecture-category/architecture-review-evolution-governance-artifacts), [Architecture Review Evolution Governance](/records/lexicon-category/architecture-review-evolution-governance)",
                "term": "Member categories"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Human Factors](/records/layer/human-factors)",
                "term": "Outgoing edges"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Structural Core](/records/layer/structural-core)",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-evolution-principles",
        "title": "Evolution Principles"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Execution Core](/records/algorithms/execution-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Control / Coordination / Centralization](/records/architecture-category/control-coordination-centralization), [Event / Messaging / Asynchronous Architecture](/records/architecture-category/event-messaging-asynchronous-architecture), [Streaming / Pipeline / Dataflow Processing](/records/architecture-category/streaming-pipeline-dataflow-processing), [Coordination Surfaces](/records/architecture-category/coordination-surfaces), [Event Messaging Async](/records/lexicon-category/event-messaging-async)",
                "term": "Member categories"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Computation Core](/records/layer/computation-core), [feeds](/records/vocabulary/layer-edge-kind-feeds) → [Resource Core](/records/layer/resource-core), [feedback](/records/vocabulary/layer-edge-kind-feedback) → [Structural Core](/records/layer/structural-core)",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-execution-core",
        "title": "Execution Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Extensibility Core](/records/algorithms/extensibility-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Runtime Discovery / Dynamic Binding](/records/architecture-category/runtime-discovery-dynamic-binding), [Plugin / Extensibility / IoC](/records/architecture-category/plugin-extensibility-ioc)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-extensibility-core",
        "title": "Extensibility Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Human Factors](/records/algorithms/human-factors)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "none",
                "term": "Member categories"
              },
              {
                "description": "none",
                "term": "Outgoing edges"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Structural Core](/records/layer/structural-core), [feeds](/records/vocabulary/layer-edge-kind-feeds) → [Evolution Principles](/records/layer/evolution-principles)",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-human-factors",
        "title": "Human Factors"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Observability](/records/algorithms/observability)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Observability / Auditability / Traceability](/records/architecture-category/observability-auditability-traceability)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-observability",
        "title": "Observability"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Performance Core](/records/algorithms/performance-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Scalability / Performance / Optimization](/records/architecture-category/scalability-performance-optimization)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-performance-core",
        "title": "Performance Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Resource Core](/records/algorithms/resource-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Portability / Infrastructure / Deployment](/records/architecture-category/portability-infrastructure-deployment)",
                "term": "Member categories"
              },
              {
                "description": "[observe](/records/vocabulary/layer-edge-kind-observe) → [Computation Core](/records/layer/computation-core), [feeds](/records/vocabulary/layer-edge-kind-feeds) → [Execution Core](/records/layer/execution-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-resource-core",
        "title": "Resource Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Security Core](/records/algorithms/security-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Security / Privacy / Compliance / Governance](/records/architecture-category/security-privacy-compliance-governance), [Security Privacy Compliance](/records/lexicon-category/security-privacy-compliance)",
                "term": "Member categories"
              },
              {
                "description": "[cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Structural Core](/records/layer/structural-core)",
                "term": "Outgoing edges"
              },
              {
                "description": "none",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-security-core",
        "title": "Security Core"
      },
      {
        "blocks": [
          {
            "items": [
              "Contract: [Structural Core](/records/algorithms/structural-core)"
            ],
            "kind": "list"
          },
          {
            "entries": [
              {
                "description": "[Core Modular Design](/records/architecture-category/core-modular-design), [SOLID / Object-Oriented Design](/records/architecture-category/solid-object-oriented-design), [Codebase / System Architecture Styles](/records/architecture-category/codebase-system-architecture-styles), [Taxonomy / Classification / Naming](/records/architecture-category/taxonomy-classification-naming), [Application Concerns](/records/lexicon-category/application-concerns), [Domain Concerns](/records/lexicon-category/domain-concerns), [Infrastructure Concerns](/records/lexicon-category/infrastructure-concerns), [Operations Concerns](/records/lexicon-category/operations-concerns), [Processing Concerns](/records/lexicon-category/processing-concerns), [Product Concerns](/records/lexicon-category/product-concerns), [Refused Tags](/records/lexicon-category/refused-tags), [Runtime Concerns](/records/lexicon-category/runtime-concerns), [Core Vocabulary](/records/lexicon-category/core-vocabulary)",
                "term": "Member categories"
              },
              {
                "description": "[feedback](/records/vocabulary/layer-edge-kind-feedback) → [Execution Core](/records/layer/execution-core), [feeds](/records/vocabulary/layer-edge-kind-feeds) → [Human Factors](/records/layer/human-factors), [feeds](/records/vocabulary/layer-edge-kind-feeds) → [Evolution Principles](/records/layer/evolution-principles)",
                "term": "Outgoing edges"
              },
              {
                "description": "[feeds](/records/vocabulary/layer-edge-kind-feeds) → [Execution Core](/records/layer/execution-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Correctness Core](/records/layer/correctness-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Security Core](/records/layer/security-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Performance Core](/records/layer/performance-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Contracts Core](/records/layer/contracts-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Causality Core](/records/layer/causality-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Declarative Core](/records/layer/declarative-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Extensibility Core](/records/layer/extensibility-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Observability](/records/layer/observability), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Enforcement Core](/records/layer/enforcement-core), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Atomic Boundary](/records/layer/atomic-boundary), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Domain Modeling](/records/layer/domain-modeling), [cross-cuts](/records/vocabulary/layer-edge-kind-cross-cuts) → [Design Patterns Core](/records/layer/design-patterns-core)",
                "term": "Incoming edges"
              }
            ],
            "kind": "glossary"
          }
        ],
        "id": "layer-structural-core",
        "title": "Structural Core"
      }
    ],
    "title": "The layer topology"
  },
  "graph": {
    "narrative": true,
    "requires": [],
    "teaches": [],
    "traces": []
  },
  "href": "https://banes-lab.com/ontology/schema#the-layer-topology",
  "number": "250",
  "page": "ontology",
  "ref": "chapter:/ontology/schema#the-layer-topology",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/software-architecture/principles#the-canon-is-grouped-twice",
          "json": "https://banes-lab.com/json/software-architecture/principles/the-canon-is-grouped-twice",
          "label": "The canon is grouped twice",
          "markdown": "https://banes-lab.com/software-architecture/principles/the-canon-is-grouped-twice.md",
          "ref": "chapter:/software-architecture/principles#the-canon-is-grouped-twice"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-atomic-boundary",
          "json": "https://banes-lab.com/json/records/algorithms/atomic-boundary",
          "label": "Atomic Boundary",
          "markdown": "https://banes-lab.com/records/algorithms/atomic-boundary.md",
          "ref": "algorithms:atomic-boundary"
        },
        {
          "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"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-layer-edge-kind-cross-cuts",
          "json": "https://banes-lab.com/json/records/vocabulary/layer-edge-kind-cross-cuts",
          "label": "cross-cuts",
          "markdown": "https://banes-lab.com/records/vocabulary/layer-edge-kind-cross-cuts.md",
          "ref": "vocabulary:layer-edge-kind-cross-cuts"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-structural-core",
          "json": "https://banes-lab.com/json/records/layer/structural-core",
          "label": "Structural Core",
          "markdown": "https://banes-lab.com/records/layer/structural-core.md",
          "ref": "layer:structural-core"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-causality-core",
          "json": "https://banes-lab.com/json/records/algorithms/causality-core",
          "label": "Causality Core",
          "markdown": "https://banes-lab.com/records/algorithms/causality-core.md",
          "ref": "algorithms:causality-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-causality-ordering-distributed-time",
          "json": "https://banes-lab.com/json/records/architecture-category/causality-ordering-distributed-time",
          "label": "Causality / Ordering / Distributed Time",
          "markdown": "https://banes-lab.com/records/architecture-category/causality-ordering-distributed-time.md",
          "ref": "architecture-category:causality-ordering-distributed-time"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-computation-core",
          "json": "https://banes-lab.com/json/records/algorithms/computation-core",
          "label": "Computation Core",
          "markdown": "https://banes-lab.com/records/algorithms/computation-core.md",
          "ref": "algorithms:computation-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-correctness-determinism-verification",
          "json": "https://banes-lab.com/json/records/architecture-category/correctness-determinism-verification",
          "label": "Correctness / Determinism / Verification",
          "markdown": "https://banes-lab.com/records/architecture-category/correctness-determinism-verification.md",
          "ref": "architecture-category:correctness-determinism-verification"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-layer-edge-kind-feeds",
          "json": "https://banes-lab.com/json/records/vocabulary/layer-edge-kind-feeds",
          "label": "feeds",
          "markdown": "https://banes-lab.com/records/vocabulary/layer-edge-kind-feeds.md",
          "ref": "vocabulary:layer-edge-kind-feeds"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-execution-core",
          "json": "https://banes-lab.com/json/records/layer/execution-core",
          "label": "Execution Core",
          "markdown": "https://banes-lab.com/records/layer/execution-core.md",
          "ref": "layer:execution-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-layer-edge-kind-observe",
          "json": "https://banes-lab.com/json/records/vocabulary/layer-edge-kind-observe",
          "label": "observe",
          "markdown": "https://banes-lab.com/records/vocabulary/layer-edge-kind-observe.md",
          "ref": "vocabulary:layer-edge-kind-observe"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-resource-core",
          "json": "https://banes-lab.com/json/records/layer/resource-core",
          "label": "Resource Core",
          "markdown": "https://banes-lab.com/records/layer/resource-core.md",
          "ref": "layer:resource-core"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-contracts-core",
          "json": "https://banes-lab.com/json/records/algorithms/contracts-core",
          "label": "Contracts Core",
          "markdown": "https://banes-lab.com/records/algorithms/contracts-core.md",
          "ref": "algorithms:contracts-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-contracts-interfaces-compatibility",
          "json": "https://banes-lab.com/json/records/architecture-category/contracts-interfaces-compatibility",
          "label": "Contracts / Interfaces / Compatibility",
          "markdown": "https://banes-lab.com/records/architecture-category/contracts-interfaces-compatibility.md",
          "ref": "architecture-category:contracts-interfaces-compatibility"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-schema-canonical-data-semantics",
          "json": "https://banes-lab.com/json/records/architecture-category/schema-canonical-data-semantics",
          "label": "Schema / Canonical Data / Semantics",
          "markdown": "https://banes-lab.com/records/architecture-category/schema-canonical-data-semantics.md",
          "ref": "architecture-category:schema-canonical-data-semantics"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-correctness-core",
          "json": "https://banes-lab.com/json/records/algorithms/correctness-core",
          "label": "Correctness Core",
          "markdown": "https://banes-lab.com/records/algorithms/correctness-core.md",
          "ref": "algorithms:correctness-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-error-handling-resilience",
          "json": "https://banes-lab.com/json/records/architecture-category/error-handling-resilience",
          "label": "Error Handling / Resilience",
          "markdown": "https://banes-lab.com/records/architecture-category/error-handling-resilience.md",
          "ref": "architecture-category:error-handling-resilience"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-model-architecture",
          "json": "https://banes-lab.com/json/records/architecture-category/model-architecture",
          "label": "Model Architecture",
          "markdown": "https://banes-lab.com/records/architecture-category/model-architecture.md",
          "ref": "architecture-category:model-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-self-healing-recovery-deployment-safety",
          "json": "https://banes-lab.com/json/records/architecture-category/self-healing-recovery-deployment-safety",
          "label": "Self-Healing / Recovery / Deployment Safety",
          "markdown": "https://banes-lab.com/records/architecture-category/self-healing-recovery-deployment-safety.md",
          "ref": "architecture-category:self-healing-recovery-deployment-safety"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-quality-attributes",
          "json": "https://banes-lab.com/json/records/lexicon-category/quality-attributes",
          "label": "Quality Attributes",
          "markdown": "https://banes-lab.com/records/lexicon-category/quality-attributes.md",
          "ref": "lexicon-category:quality-attributes"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-declarative-core",
          "json": "https://banes-lab.com/json/records/algorithms/declarative-core",
          "label": "Declarative Core",
          "markdown": "https://banes-lab.com/records/algorithms/declarative-core.md",
          "ref": "algorithms:declarative-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-metadata-self-description-declarative-systems",
          "json": "https://banes-lab.com/json/records/architecture-category/metadata-self-description-declarative-systems",
          "label": "Metadata / Self-Description / Declarative Systems",
          "markdown": "https://banes-lab.com/records/architecture-category/metadata-self-description-declarative-systems.md",
          "ref": "architecture-category:metadata-self-description-declarative-systems"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-metaprogramming-language-oriented-architecture",
          "json": "https://banes-lab.com/json/records/architecture-category/metaprogramming-language-oriented-architecture",
          "label": "Metaprogramming / Language-Oriented Architecture",
          "markdown": "https://banes-lab.com/records/architecture-category/metaprogramming-language-oriented-architecture.md",
          "ref": "architecture-category:metaprogramming-language-oriented-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-design-patterns-core",
          "json": "https://banes-lab.com/json/records/algorithms/design-patterns-core",
          "label": "Design Patterns Core",
          "markdown": "https://banes-lab.com/records/algorithms/design-patterns-core.md",
          "ref": "algorithms:design-patterns-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-behavioral-patterns",
          "json": "https://banes-lab.com/json/records/architecture-category/behavioral-patterns",
          "label": "Behavioral Patterns",
          "markdown": "https://banes-lab.com/records/architecture-category/behavioral-patterns.md",
          "ref": "architecture-category:behavioral-patterns"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-creational-patterns",
          "json": "https://banes-lab.com/json/records/architecture-category/creational-patterns",
          "label": "Creational Patterns",
          "markdown": "https://banes-lab.com/records/architecture-category/creational-patterns.md",
          "ref": "architecture-category:creational-patterns"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-structural-patterns",
          "json": "https://banes-lab.com/json/records/architecture-category/structural-patterns",
          "label": "Structural Patterns",
          "markdown": "https://banes-lab.com/records/architecture-category/structural-patterns.md",
          "ref": "architecture-category:structural-patterns"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-domain-modeling",
          "json": "https://banes-lab.com/json/records/algorithms/domain-modeling",
          "label": "Domain Modeling",
          "markdown": "https://banes-lab.com/records/algorithms/domain-modeling.md",
          "ref": "algorithms:domain-modeling"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-domain-architecture",
          "json": "https://banes-lab.com/json/records/architecture-category/domain-architecture",
          "label": "Domain Architecture",
          "markdown": "https://banes-lab.com/records/architecture-category/domain-architecture.md",
          "ref": "architecture-category:domain-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-enforcement-core",
          "json": "https://banes-lab.com/json/records/algorithms/enforcement-core",
          "label": "Enforcement Core",
          "markdown": "https://banes-lab.com/records/algorithms/enforcement-core.md",
          "ref": "algorithms:enforcement-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-anti-patterns",
          "json": "https://banes-lab.com/json/records/architecture-category/anti-patterns",
          "label": "Anti-patterns",
          "markdown": "https://banes-lab.com/records/architecture-category/anti-patterns.md",
          "ref": "architecture-category:anti-patterns"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-evolution-principles",
          "json": "https://banes-lab.com/json/records/algorithms/evolution-principles",
          "label": "Evolution Principles",
          "markdown": "https://banes-lab.com/records/algorithms/evolution-principles.md",
          "ref": "algorithms:evolution-principles"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-architecture-review-evolution-governance-artifacts",
          "json": "https://banes-lab.com/json/records/architecture-category/architecture-review-evolution-governance-artifacts",
          "label": "Architecture Review / Evolution / Governance Artifacts",
          "markdown": "https://banes-lab.com/records/architecture-category/architecture-review-evolution-governance-artifacts.md",
          "ref": "architecture-category:architecture-review-evolution-governance-artifacts"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-architecture-review-evolution-governance",
          "json": "https://banes-lab.com/json/records/lexicon-category/architecture-review-evolution-governance",
          "label": "Architecture Review Evolution Governance",
          "markdown": "https://banes-lab.com/records/lexicon-category/architecture-review-evolution-governance.md",
          "ref": "lexicon-category:architecture-review-evolution-governance"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-human-factors",
          "json": "https://banes-lab.com/json/records/layer/human-factors",
          "label": "Human Factors",
          "markdown": "https://banes-lab.com/records/layer/human-factors.md",
          "ref": "layer:human-factors"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-execution-core",
          "json": "https://banes-lab.com/json/records/algorithms/execution-core",
          "label": "Execution Core",
          "markdown": "https://banes-lab.com/records/algorithms/execution-core.md",
          "ref": "algorithms:execution-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-control-coordination-centralization",
          "json": "https://banes-lab.com/json/records/architecture-category/control-coordination-centralization",
          "label": "Control / Coordination / Centralization",
          "markdown": "https://banes-lab.com/records/architecture-category/control-coordination-centralization.md",
          "ref": "architecture-category:control-coordination-centralization"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-event-messaging-asynchronous-architecture",
          "json": "https://banes-lab.com/json/records/architecture-category/event-messaging-asynchronous-architecture",
          "label": "Event / Messaging / Asynchronous Architecture",
          "markdown": "https://banes-lab.com/records/architecture-category/event-messaging-asynchronous-architecture.md",
          "ref": "architecture-category:event-messaging-asynchronous-architecture"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-streaming-pipeline-dataflow-processing",
          "json": "https://banes-lab.com/json/records/architecture-category/streaming-pipeline-dataflow-processing",
          "label": "Streaming / Pipeline / Dataflow Processing",
          "markdown": "https://banes-lab.com/records/architecture-category/streaming-pipeline-dataflow-processing.md",
          "ref": "architecture-category:streaming-pipeline-dataflow-processing"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-coordination-surfaces",
          "json": "https://banes-lab.com/json/records/architecture-category/coordination-surfaces",
          "label": "Coordination Surfaces",
          "markdown": "https://banes-lab.com/records/architecture-category/coordination-surfaces.md",
          "ref": "architecture-category:coordination-surfaces"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-event-messaging-async",
          "json": "https://banes-lab.com/json/records/lexicon-category/event-messaging-async",
          "label": "Event Messaging Async",
          "markdown": "https://banes-lab.com/records/lexicon-category/event-messaging-async.md",
          "ref": "lexicon-category:event-messaging-async"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-computation-core",
          "json": "https://banes-lab.com/json/records/layer/computation-core",
          "label": "Computation Core",
          "markdown": "https://banes-lab.com/records/layer/computation-core.md",
          "ref": "layer:computation-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-layer-edge-kind-feedback",
          "json": "https://banes-lab.com/json/records/vocabulary/layer-edge-kind-feedback",
          "label": "feedback",
          "markdown": "https://banes-lab.com/records/vocabulary/layer-edge-kind-feedback.md",
          "ref": "vocabulary:layer-edge-kind-feedback"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-extensibility-core",
          "json": "https://banes-lab.com/json/records/algorithms/extensibility-core",
          "label": "Extensibility Core",
          "markdown": "https://banes-lab.com/records/algorithms/extensibility-core.md",
          "ref": "algorithms:extensibility-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-runtime-discovery-dynamic-binding",
          "json": "https://banes-lab.com/json/records/architecture-category/runtime-discovery-dynamic-binding",
          "label": "Runtime Discovery / Dynamic Binding",
          "markdown": "https://banes-lab.com/records/architecture-category/runtime-discovery-dynamic-binding.md",
          "ref": "architecture-category:runtime-discovery-dynamic-binding"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-plugin-extensibility-ioc",
          "json": "https://banes-lab.com/json/records/architecture-category/plugin-extensibility-ioc",
          "label": "Plugin / Extensibility / IoC",
          "markdown": "https://banes-lab.com/records/architecture-category/plugin-extensibility-ioc.md",
          "ref": "architecture-category:plugin-extensibility-ioc"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-human-factors",
          "json": "https://banes-lab.com/json/records/algorithms/human-factors",
          "label": "Human Factors",
          "markdown": "https://banes-lab.com/records/algorithms/human-factors.md",
          "ref": "algorithms:human-factors"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-evolution-principles",
          "json": "https://banes-lab.com/json/records/layer/evolution-principles",
          "label": "Evolution Principles",
          "markdown": "https://banes-lab.com/records/layer/evolution-principles.md",
          "ref": "layer:evolution-principles"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-observability",
          "json": "https://banes-lab.com/json/records/algorithms/observability",
          "label": "Observability",
          "markdown": "https://banes-lab.com/records/algorithms/observability.md",
          "ref": "algorithms:observability"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-observability-auditability-traceability",
          "json": "https://banes-lab.com/json/records/architecture-category/observability-auditability-traceability",
          "label": "Observability / Auditability / Traceability",
          "markdown": "https://banes-lab.com/records/architecture-category/observability-auditability-traceability.md",
          "ref": "architecture-category:observability-auditability-traceability"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-performance-core",
          "json": "https://banes-lab.com/json/records/algorithms/performance-core",
          "label": "Performance Core",
          "markdown": "https://banes-lab.com/records/algorithms/performance-core.md",
          "ref": "algorithms:performance-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-scalability-performance-optimization",
          "json": "https://banes-lab.com/json/records/architecture-category/scalability-performance-optimization",
          "label": "Scalability / Performance / Optimization",
          "markdown": "https://banes-lab.com/records/architecture-category/scalability-performance-optimization.md",
          "ref": "architecture-category:scalability-performance-optimization"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-resource-core",
          "json": "https://banes-lab.com/json/records/algorithms/resource-core",
          "label": "Resource Core",
          "markdown": "https://banes-lab.com/records/algorithms/resource-core.md",
          "ref": "algorithms:resource-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-portability-infrastructure-deployment",
          "json": "https://banes-lab.com/json/records/architecture-category/portability-infrastructure-deployment",
          "label": "Portability / Infrastructure / Deployment",
          "markdown": "https://banes-lab.com/records/architecture-category/portability-infrastructure-deployment.md",
          "ref": "architecture-category:portability-infrastructure-deployment"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-security-core",
          "json": "https://banes-lab.com/json/records/algorithms/security-core",
          "label": "Security Core",
          "markdown": "https://banes-lab.com/records/algorithms/security-core.md",
          "ref": "algorithms:security-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-security-privacy-compliance-governance",
          "json": "https://banes-lab.com/json/records/architecture-category/security-privacy-compliance-governance",
          "label": "Security / Privacy / Compliance / Governance",
          "markdown": "https://banes-lab.com/records/architecture-category/security-privacy-compliance-governance.md",
          "ref": "architecture-category:security-privacy-compliance-governance"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-security-privacy-compliance",
          "json": "https://banes-lab.com/json/records/lexicon-category/security-privacy-compliance",
          "label": "Security Privacy Compliance",
          "markdown": "https://banes-lab.com/records/lexicon-category/security-privacy-compliance.md",
          "ref": "lexicon-category:security-privacy-compliance"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-structural-core",
          "json": "https://banes-lab.com/json/records/algorithms/structural-core",
          "label": "Structural Core",
          "markdown": "https://banes-lab.com/records/algorithms/structural-core.md",
          "ref": "algorithms:structural-core"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-core-modular-design",
          "json": "https://banes-lab.com/json/records/architecture-category/core-modular-design",
          "label": "Core Modular Design",
          "markdown": "https://banes-lab.com/records/architecture-category/core-modular-design.md",
          "ref": "architecture-category:core-modular-design"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-solid-object-oriented-design",
          "json": "https://banes-lab.com/json/records/architecture-category/solid-object-oriented-design",
          "label": "SOLID / Object-Oriented Design",
          "markdown": "https://banes-lab.com/records/architecture-category/solid-object-oriented-design.md",
          "ref": "architecture-category:solid-object-oriented-design"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-codebase-system-architecture-styles",
          "json": "https://banes-lab.com/json/records/architecture-category/codebase-system-architecture-styles",
          "label": "Codebase / System Architecture Styles",
          "markdown": "https://banes-lab.com/records/architecture-category/codebase-system-architecture-styles.md",
          "ref": "architecture-category:codebase-system-architecture-styles"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-taxonomy-classification-naming",
          "json": "https://banes-lab.com/json/records/architecture-category/taxonomy-classification-naming",
          "label": "Taxonomy / Classification / Naming",
          "markdown": "https://banes-lab.com/records/architecture-category/taxonomy-classification-naming.md",
          "ref": "architecture-category:taxonomy-classification-naming"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-application-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/application-concerns",
          "label": "Application Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/application-concerns.md",
          "ref": "lexicon-category:application-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-domain-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/domain-concerns",
          "label": "Domain Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/domain-concerns.md",
          "ref": "lexicon-category:domain-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-infrastructure-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/infrastructure-concerns",
          "label": "Infrastructure Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/infrastructure-concerns.md",
          "ref": "lexicon-category:infrastructure-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-operations-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/operations-concerns",
          "label": "Operations Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/operations-concerns.md",
          "ref": "lexicon-category:operations-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-processing-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/processing-concerns",
          "label": "Processing Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/processing-concerns.md",
          "ref": "lexicon-category:processing-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-product-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/product-concerns",
          "label": "Product Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/product-concerns.md",
          "ref": "lexicon-category:product-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-refused-tags",
          "json": "https://banes-lab.com/json/records/lexicon-category/refused-tags",
          "label": "Refused Tags",
          "markdown": "https://banes-lab.com/records/lexicon-category/refused-tags.md",
          "ref": "lexicon-category:refused-tags"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-runtime-concerns",
          "json": "https://banes-lab.com/json/records/lexicon-category/runtime-concerns",
          "label": "Runtime Concerns",
          "markdown": "https://banes-lab.com/records/lexicon-category/runtime-concerns.md",
          "ref": "lexicon-category:runtime-concerns"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-core-vocabulary",
          "json": "https://banes-lab.com/json/records/lexicon-category/core-vocabulary",
          "label": "Core Vocabulary",
          "markdown": "https://banes-lab.com/records/lexicon-category/core-vocabulary.md",
          "ref": "lexicon-category:core-vocabulary"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-correctness-core",
          "json": "https://banes-lab.com/json/records/layer/correctness-core",
          "label": "Correctness Core",
          "markdown": "https://banes-lab.com/records/layer/correctness-core.md",
          "ref": "layer:correctness-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-security-core",
          "json": "https://banes-lab.com/json/records/layer/security-core",
          "label": "Security Core",
          "markdown": "https://banes-lab.com/records/layer/security-core.md",
          "ref": "layer:security-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-performance-core",
          "json": "https://banes-lab.com/json/records/layer/performance-core",
          "label": "Performance Core",
          "markdown": "https://banes-lab.com/records/layer/performance-core.md",
          "ref": "layer:performance-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-contracts-core",
          "json": "https://banes-lab.com/json/records/layer/contracts-core",
          "label": "Contracts Core",
          "markdown": "https://banes-lab.com/records/layer/contracts-core.md",
          "ref": "layer:contracts-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-causality-core",
          "json": "https://banes-lab.com/json/records/layer/causality-core",
          "label": "Causality Core",
          "markdown": "https://banes-lab.com/records/layer/causality-core.md",
          "ref": "layer:causality-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-declarative-core",
          "json": "https://banes-lab.com/json/records/layer/declarative-core",
          "label": "Declarative Core",
          "markdown": "https://banes-lab.com/records/layer/declarative-core.md",
          "ref": "layer:declarative-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-extensibility-core",
          "json": "https://banes-lab.com/json/records/layer/extensibility-core",
          "label": "Extensibility Core",
          "markdown": "https://banes-lab.com/records/layer/extensibility-core.md",
          "ref": "layer:extensibility-core"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-observability",
          "json": "https://banes-lab.com/json/records/layer/observability",
          "label": "Observability",
          "markdown": "https://banes-lab.com/records/layer/observability.md",
          "ref": "layer:observability"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-enforcement-core",
          "json": "https://banes-lab.com/json/records/layer/enforcement-core",
          "label": "Enforcement Core",
          "markdown": "https://banes-lab.com/records/layer/enforcement-core.md",
          "ref": "layer:enforcement-core"
        },
        {
          "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"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-domain-modeling",
          "json": "https://banes-lab.com/json/records/layer/domain-modeling",
          "label": "Domain Modeling",
          "markdown": "https://banes-lab.com/records/layer/domain-modeling.md",
          "ref": "layer:domain-modeling"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#layer-design-patterns-core",
          "json": "https://banes-lab.com/json/records/layer/design-patterns-core",
          "label": "Design Patterns Core",
          "markdown": "https://banes-lab.com/records/layer/design-patterns-core.md",
          "ref": "layer:design-patterns-core"
        }
      ],
      "relation": "links-to"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/software-architecture/principles#the-canon-is-grouped-twice",
          "json": "https://banes-lab.com/json/software-architecture/principles/the-canon-is-grouped-twice",
          "label": "The canon is grouped twice",
          "markdown": "https://banes-lab.com/software-architecture/principles/the-canon-is-grouped-twice.md",
          "ref": "chapter:/software-architecture/principles#the-canon-is-grouped-twice"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "route": null,
  "section": "the-layer-topology",
  "summary": "The layer topology holds the four core layers, the domains beneath them, the cross-cutting domains and the edges that join them.",
  "tab": "schema",
  "title": "The layer topology",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology/schema#the-membership",
      "json": "https://banes-lab.com/json/ontology/schema/the-membership",
      "label": "The membership",
      "markdown": "https://banes-lab.com/ontology/schema/the-membership.md",
      "ref": "chapter:/ontology/schema#the-membership"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology/schema#the-forces",
      "json": "https://banes-lab.com/json/ontology/schema/the-forces",
      "label": "The forces",
      "markdown": "https://banes-lab.com/ontology/schema/the-forces.md",
      "ref": "chapter:/ontology/schema#the-forces"
    }
  },
  "up": {
    "href": "https://banes-lab.com/ontology/schema",
    "json": "https://banes-lab.com/json/api/pages/ontology/schema",
    "label": "Ontology · Schema",
    "markdown": "https://banes-lab.com/api/pages/ontology/schema.md",
    "ref": "api:/ontology/schema"
  }
}
