{
  "totals": {
    "nodes": 70,
    "edges": 228
  },
  "nodesByLayer": [
    {
      "layer": "01-business-drivers",
      "count": 10
    },
    {
      "layer": "02-quality-attributes",
      "count": 17
    },
    {
      "layer": "03-architecture-styles",
      "count": 8
    },
    {
      "layer": "04-application-architectures",
      "count": 3
    },
    {
      "layer": "05-domain-modeling-strategy",
      "count": 3
    },
    {
      "layer": "06-architectural-patterns",
      "count": 6
    },
    {
      "layer": "07-design-patterns",
      "count": 4
    },
    {
      "layer": "08-infrastructure-patterns",
      "count": 9
    },
    {
      "layer": "09-implementation-patterns",
      "count": 6
    },
    {
      "layer": "10-technology-choices",
      "count": 4
    }
  ],
  "edgesByKind": [
    {
      "kind": "Constrains",
      "count": 4
    },
    {
      "kind": "Optimizes",
      "count": 113
    },
    {
      "kind": "Sacrifices",
      "count": 69
    },
    {
      "kind": "CascadesTo",
      "count": 42
    },
    {
      "kind": "FeedsBackTo",
      "count": 0
    }
  ],
  "edgesByLayerPair": [
    {
      "pair": "01-business-drivers->02-quality-attributes (CascadesTo)",
      "count": 19
    },
    {
      "pair": "03-architecture-styles->02-quality-attributes (Optimizes)",
      "count": 24
    },
    {
      "pair": "03-architecture-styles->02-quality-attributes (Sacrifices)",
      "count": 18
    },
    {
      "pair": "03-architecture-styles->06-architectural-patterns (CascadesTo)",
      "count": 4
    },
    {
      "pair": "03-architecture-styles->06-architectural-patterns (Constrains)",
      "count": 4
    },
    {
      "pair": "03-architecture-styles->10-technology-choices (CascadesTo)",
      "count": 9
    },
    {
      "pair": "04-application-architectures->02-quality-attributes (Optimizes)",
      "count": 6
    },
    {
      "pair": "04-application-architectures->02-quality-attributes (Sacrifices)",
      "count": 3
    },
    {
      "pair": "05-domain-modeling-strategy->02-quality-attributes (Optimizes)",
      "count": 7
    },
    {
      "pair": "05-domain-modeling-strategy->02-quality-attributes (Sacrifices)",
      "count": 7
    },
    {
      "pair": "06-architectural-patterns->01-business-drivers (Optimizes)",
      "count": 1
    },
    {
      "pair": "06-architectural-patterns->02-quality-attributes (Optimizes)",
      "count": 15
    },
    {
      "pair": "06-architectural-patterns->02-quality-attributes (Sacrifices)",
      "count": 12
    },
    {
      "pair": "06-architectural-patterns->10-technology-choices (CascadesTo)",
      "count": 6
    },
    {
      "pair": "07-design-patterns->02-quality-attributes (Optimizes)",
      "count": 9
    },
    {
      "pair": "07-design-patterns->02-quality-attributes (Sacrifices)",
      "count": 4
    },
    {
      "pair": "08-infrastructure-patterns->02-quality-attributes (Optimizes)",
      "count": 26
    },
    {
      "pair": "08-infrastructure-patterns->02-quality-attributes (Sacrifices)",
      "count": 15
    },
    {
      "pair": "08-infrastructure-patterns->10-technology-choices (CascadesTo)",
      "count": 4
    },
    {
      "pair": "09-implementation-patterns->02-quality-attributes (Optimizes)",
      "count": 12
    },
    {
      "pair": "09-implementation-patterns->02-quality-attributes (Sacrifices)",
      "count": 7
    },
    {
      "pair": "10-technology-choices->02-quality-attributes (Optimizes)",
      "count": 12
    },
    {
      "pair": "10-technology-choices->02-quality-attributes (Sacrifices)",
      "count": 3
    },
    {
      "pair": "10-technology-choices->03-architecture-styles (Optimizes)",
      "count": 1
    }
  ],
  "findings": [
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"02-quality-attributes/consistency\" (02-quality-attributes) is not reachable from any Layer-01 root.",
      "nodeId": "02-quality-attributes/consistency"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"02-quality-attributes/observability\" (02-quality-attributes) is not reachable from any Layer-01 root.",
      "nodeId": "02-quality-attributes/observability"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/event-driven\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/event-driven"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/layered\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/layered"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/microkernel\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/microkernel"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/microservices\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/microservices"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/pipes-and-filters\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/pipes-and-filters"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/service-based\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/service-based"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/soa\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/soa"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"03-architecture-styles/space-based\" (03-architecture-styles) is not reachable from any Layer-01 root.",
      "nodeId": "03-architecture-styles/space-based"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"04-application-architectures/clean\" (04-application-architectures) is not reachable from any Layer-01 root.",
      "nodeId": "04-application-architectures/clean"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"04-application-architectures/hexagonal\" (04-application-architectures) is not reachable from any Layer-01 root.",
      "nodeId": "04-application-architectures/hexagonal"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"04-application-architectures/onion\" (04-application-architectures) is not reachable from any Layer-01 root.",
      "nodeId": "04-application-architectures/onion"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"05-domain-modeling-strategy/strategic-design\" (05-domain-modeling-strategy) is not reachable from any Layer-01 root.",
      "nodeId": "05-domain-modeling-strategy/strategic-design"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"05-domain-modeling-strategy/tactical-design\" (05-domain-modeling-strategy) is not reachable from any Layer-01 root.",
      "nodeId": "05-domain-modeling-strategy/tactical-design"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"05-domain-modeling-strategy/when-to-apply\" (05-domain-modeling-strategy) is not reachable from any Layer-01 root.",
      "nodeId": "05-domain-modeling-strategy/when-to-apply"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"06-architectural-patterns/bff\" (06-architectural-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "06-architectural-patterns/bff"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"06-architectural-patterns/cqrs\" (06-architectural-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "06-architectural-patterns/cqrs"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"06-architectural-patterns/event-sourcing\" (06-architectural-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "06-architectural-patterns/event-sourcing"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"06-architectural-patterns/outbox\" (06-architectural-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "06-architectural-patterns/outbox"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"06-architectural-patterns/saga\" (06-architectural-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "06-architectural-patterns/saga"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"06-architectural-patterns/strangler-fig\" (06-architectural-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "06-architectural-patterns/strangler-fig"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"07-design-patterns/adapter\" (07-design-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "07-design-patterns/adapter"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"07-design-patterns/dependency-injection\" (07-design-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "07-design-patterns/dependency-injection"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"07-design-patterns/repository\" (07-design-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "07-design-patterns/repository"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"07-design-patterns/strategy\" (07-design-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "07-design-patterns/strategy"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/api-gateway\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/api-gateway"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/bulkhead\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/bulkhead"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/caching\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/caching"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/circuit-breaker\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/circuit-breaker"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/load-balancing\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/load-balancing"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/message-broker\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/message-broker"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/retry-and-backoff\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/retry-and-backoff"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/service-discovery\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/service-discovery"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"08-infrastructure-patterns/service-mesh\" (08-infrastructure-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "08-infrastructure-patterns/service-mesh"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"09-implementation-patterns/correlation-ids\" (09-implementation-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "09-implementation-patterns/correlation-ids"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"09-implementation-patterns/feature-flags\" (09-implementation-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "09-implementation-patterns/feature-flags"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"09-implementation-patterns/graceful-shutdown\" (09-implementation-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "09-implementation-patterns/graceful-shutdown"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"09-implementation-patterns/idempotency\" (09-implementation-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "09-implementation-patterns/idempotency"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"09-implementation-patterns/pagination\" (09-implementation-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "09-implementation-patterns/pagination"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"09-implementation-patterns/structured-logging\" (09-implementation-patterns) is not reachable from any Layer-01 root.",
      "nodeId": "09-implementation-patterns/structured-logging"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"10-technology-choices/kafka\" (10-technology-choices) is not reachable from any Layer-01 root.",
      "nodeId": "10-technology-choices/kafka"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"10-technology-choices/kubernetes\" (10-technology-choices) is not reachable from any Layer-01 root.",
      "nodeId": "10-technology-choices/kubernetes"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"10-technology-choices/postgresql\" (10-technology-choices) is not reachable from any Layer-01 root.",
      "nodeId": "10-technology-choices/postgresql"
    },
    {
      "kind": "unreachable-from-root",
      "severity": "warning",
      "message": "Node \"10-technology-choices/redis\" (10-technology-choices) is not reachable from any Layer-01 root.",
      "nodeId": "10-technology-choices/redis"
    }
  ],
  "errorCount": 0,
  "warningCount": 45,
  "infoCount": 0,
  "loaderNotes": [
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/time-to-market",
      "message": "Layer-1 driver \"Time to market / speed of delivery\" cascades to unknown QA \"low operational complexity\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/expected-user-growth",
      "message": "Layer-1 driver \"Expected user growth / scale\" cascades to unknown QA \"throughput\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/team-size-and-skill",
      "message": "Layer-1 driver \"Team size and skill\" cascades to unknown QA \"maintainability\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/team-size-and-skill",
      "message": "Layer-1 driver \"Team size and skill\" cascades to unknown QA \"low operational complexity\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/budget",
      "message": "Layer-1 driver \"Budget / cost constraints\" cascades to unknown QA \"operational simplicity\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/regulatory",
      "message": "Layer-1 driver \"Regulatory / compliance / data sensitivity\" cascades to unknown QA \"data governance\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/regulatory",
      "message": "Layer-1 driver \"Regulatory / compliance / data sensitivity\" cascades to unknown QA \"data locality\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/regulatory",
      "message": "Layer-1 driver \"Regulatory / compliance / data sensitivity\" cascades to unknown QA \"privacy\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/geographic-distribution-of-users",
      "message": "Layer-1 driver \"Geographic distribution of users\" cascades to unknown QA \"geographic distribution\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/geographic-distribution-of-users",
      "message": "Layer-1 driver \"Geographic distribution of users\" cascades to unknown QA \"partition tolerance\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/geographic-distribution-of-users",
      "message": "Layer-1 driver \"Geographic distribution of users\" cascades to unknown QA \"edge delivery\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/rate-of-change",
      "message": "Layer-1 driver \"Rate of change / frequency of feature releases\" cascades to unknown QA \"evolvability\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/existing-systems",
      "message": "Layer-1 driver \"Existing systems / brownfield constraints\" cascades to unknown QA \"integration\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/existing-systems",
      "message": "Layer-1 driver \"Existing systems / brownfield constraints\" cascades to unknown QA \"interoperability\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/existing-systems",
      "message": "Layer-1 driver \"Existing systems / brownfield constraints\" cascades to unknown QA \"incremental migration\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/existing-systems",
      "message": "Layer-1 driver \"Existing systems / brownfield constraints\" cascades to unknown QA \"backwards compatibility\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/competitive-pressure",
      "message": "Layer-1 driver \"Competitive pressure / differentiation\" cascades to unknown QA \"agility\" — not in Layer 2 catalog."
    },
    {
      "severity": "warning",
      "nodeId": "01-business-drivers/competitive-pressure",
      "message": "Layer-1 driver \"Competitive pressure / differentiation\" cascades to unknown QA \"evolvability\" — not in Layer 2 catalog."
    }
  ]
}
