{
  "schemaVersion": "atlas.file/1",
  "requires": [
    "model-v1",
    "presentation-v1"
  ],
  "model": {
    "schemaVersion": "atlas.model/1",
    "revision": 1,
    "product": {
      "id": "systems-lab",
      "name": "Systems Lab · synthetic",
      "defaultView": "systems-lab:view/technical",
      "notice": "Synthetic mixed-infrastructure example; no deployment is claimed.",
      "coverage": [
        {
          "area": "architecture",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "runtime",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "interfaces",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "data",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "behavior",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "requirements",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "security",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "operations",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        }
      ]
    },
    "palette": {
      "cloud": "#4263eb",
      "private": "#0c8b83",
      "external": "#c66939"
    },
    "entities": [
      {
        "id": "systems-lab:aws",
        "title": "Amazon Web Services",
        "kind": "boundary",
        "summary": "Synthetic managed cloud boundary containing the EC2 and AWS service examples.",
        "technology": "Amazon Web Services",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "cloud"
      },
      {
        "id": "systems-lab:onprem",
        "title": "Private infrastructure",
        "kind": "boundary",
        "summary": "Synthetic private infrastructure boundary for self-hosted services.",
        "technology": "Private infrastructure",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "private",
        "glyph": "private-host"
      },
      {
        "id": "systems-lab:cloudflare",
        "title": "Cloudflare",
        "kind": "boundary",
        "summary": "Synthetic edge platform boundary for the public gateway.",
        "technology": "Cloudflare",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "cloud"
      },
      {
        "id": "systems-lab:ec2",
        "title": "EC2 instance · Linux",
        "kind": "boundary",
        "summary": "Synthetic Linux host boundary inside the AWS example.",
        "technology": "Amazon EC2",
        "boundary": "systems-lab:aws",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "virtual-machine"
      },
      {
        "id": "systems-lab:vm",
        "title": "Custom Linux VM",
        "kind": "boundary",
        "summary": "Synthetic self-hosted Linux host boundary inside private infrastructure.",
        "technology": "Linux VM · self-hosted",
        "boundary": "systems-lab:onprem",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "private",
        "glyph": "virtual-machine"
      },
      {
        "id": "systems-lab:clients",
        "title": "Browser & service clients",
        "kind": "actor",
        "summary": "Synthetic browser and service clients that call the public API.",
        "technology": "HTTPS clients",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "external",
        "glyph": "user"
      },
      {
        "id": "systems-lab:edge",
        "title": "Edge gateway",
        "kind": "component",
        "summary": "Synthetic public gateway at the Cloudflare edge.",
        "technology": "Cloudflare Worker",
        "boundary": "systems-lab:cloudflare",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "edge-worker"
      },
      {
        "id": "systems-lab:api",
        "title": "Application API",
        "kind": "component",
        "summary": "Synthetic application API hosted on the example EC2 instance.",
        "technology": "Node.js / HTTP",
        "hostedBy": "systems-lab:ec2",
        "boundary": "systems-lab:aws",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "api-gateway"
      },
      {
        "id": "systems-lab:lambda",
        "title": "Image processor",
        "kind": "component",
        "summary": "Synthetic asynchronous image processing function.",
        "technology": "AWS Lambda / Python",
        "boundary": "systems-lab:aws",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "serverless"
      },
      {
        "id": "systems-lab:sqs",
        "title": "Processing queue",
        "kind": "store",
        "summary": "Synthetic queue for image processing jobs.",
        "technology": "Amazon SQS",
        "boundary": "systems-lab:aws",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "queue"
      },
      {
        "id": "systems-lab:kafka",
        "title": "Event log",
        "kind": "store",
        "summary": "Synthetic Kafka event log hosted on the private VM.",
        "technology": "Apache Kafka",
        "hostedBy": "systems-lab:vm",
        "boundary": "systems-lab:onprem",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "private",
        "glyph": "event-stream"
      },
      {
        "id": "systems-lab:consumer",
        "title": "Event consumer",
        "kind": "component",
        "summary": "Synthetic Kafka consumer that commits a database projection.",
        "technology": "Java / Kafka consumer",
        "hostedBy": "systems-lab:vm",
        "boundary": "systems-lab:onprem",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "private",
        "glyph": "consumer"
      },
      {
        "id": "systems-lab:pg",
        "title": "Product database",
        "kind": "store",
        "summary": "Synthetic PostgreSQL product database on private infrastructure.",
        "technology": "PostgreSQL",
        "hostedBy": "systems-lab:vm",
        "boundary": "systems-lab:onprem",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "private",
        "glyph": "database"
      },
      {
        "id": "systems-lab:s3",
        "title": "Object storage",
        "kind": "store",
        "summary": "Synthetic object store for processed image artifacts.",
        "technology": "Amazon S3",
        "boundary": "systems-lab:aws",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "cloud",
        "glyph": "object-storage"
      },
      {
        "id": "systems-lab:partner",
        "title": "Partner API",
        "kind": "external",
        "summary": "Synthetic external partner service reached over gRPC.",
        "technology": "gRPC service",
        "status": "synthetic",
        "evidence": [],
        "tables": [],
        "group": "external",
        "glyph": "api-gateway"
      }
    ],
    "relations": [
      {
        "id": "systems-lab:relation/clients-edge",
        "title": "Call public API",
        "kind": "runtime-call",
        "from": "systems-lab:clients",
        "to": "systems-lab:edge",
        "protocol": "HTTPS",
        "mode": "sync",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/edge-api",
        "title": "Forward request",
        "kind": "runtime-call",
        "from": "systems-lab:edge",
        "to": "systems-lab:api",
        "protocol": "HTTPS",
        "mode": "sync",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/api-sqs",
        "title": "Enqueue processing job",
        "kind": "runtime-call",
        "from": "systems-lab:api",
        "to": "systems-lab:sqs",
        "protocol": "AWS SDK / HTTPS",
        "mode": "async",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/sqs-lambda",
        "title": "Deliver job batch",
        "kind": "runtime-call",
        "from": "systems-lab:sqs",
        "to": "systems-lab:lambda",
        "protocol": "Event source mapping",
        "mode": "async",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/lambda-s3",
        "title": "Write processed object",
        "kind": "runtime-call",
        "from": "systems-lab:lambda",
        "to": "systems-lab:s3",
        "protocol": "AWS SDK / HTTPS",
        "mode": "sync",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/api-kafka",
        "title": "Publish domain event",
        "kind": "event",
        "from": "systems-lab:api",
        "to": "systems-lab:kafka",
        "protocol": "Kafka protocol / TCP",
        "mode": "async",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/kafka-consumer",
        "title": "Consume subscribed topic",
        "kind": "event",
        "from": "systems-lab:kafka",
        "to": "systems-lab:consumer",
        "protocol": "Kafka protocol / TCP",
        "mode": "async",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/consumer-pg",
        "title": "Commit projection",
        "kind": "runtime-call",
        "from": "systems-lab:consumer",
        "to": "systems-lab:pg",
        "protocol": "PostgreSQL wire / TCP",
        "mode": "sync",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/api-pg",
        "title": "Read / write records",
        "kind": "runtime-call",
        "from": "systems-lab:api",
        "to": "systems-lab:pg",
        "protocol": "PostgreSQL wire / TCP",
        "mode": "sync",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      },
      {
        "id": "systems-lab:relation/api-partner",
        "title": "Call partner service",
        "kind": "runtime-call",
        "from": "systems-lab:api",
        "to": "systems-lab:partner",
        "protocol": "gRPC / HTTP2",
        "mode": "sync",
        "status": "synthetic",
        "evidence": [],
        "glyph": "relationship"
      }
    ],
    "views": [
      {
        "id": "systems-lab:view/technical",
        "title": "Mixed infrastructure architecture",
        "kind": "map",
        "summary": "Synthetic mixed managed and self-hosted runtime; sync and async labels describe line semantics only.",
        "status": "synthetic",
        "evidence": [],
        "entities": [
          "systems-lab:clients",
          "systems-lab:edge",
          "systems-lab:api",
          "systems-lab:lambda",
          "systems-lab:sqs",
          "systems-lab:kafka",
          "systems-lab:consumer",
          "systems-lab:pg",
          "systems-lab:s3",
          "systems-lab:partner"
        ],
        "relations": [
          "systems-lab:relation/clients-edge",
          "systems-lab:relation/edge-api",
          "systems-lab:relation/api-sqs",
          "systems-lab:relation/sqs-lambda",
          "systems-lab:relation/lambda-s3",
          "systems-lab:relation/api-kafka",
          "systems-lab:relation/kafka-consumer",
          "systems-lab:relation/consumer-pg",
          "systems-lab:relation/api-pg",
          "systems-lab:relation/api-partner"
        ],
        "positions": {
          "systems-lab:clients": [
            0,
            360
          ],
          "systems-lab:edge": [
            480,
            360
          ],
          "systems-lab:api": [
            1020,
            360
          ],
          "systems-lab:lambda": [
            1560,
            30
          ],
          "systems-lab:sqs": [
            1020,
            30
          ],
          "systems-lab:kafka": [
            1020,
            950
          ],
          "systems-lab:consumer": [
            1560,
            950
          ],
          "systems-lab:pg": [
            1560,
            1310
          ],
          "systems-lab:s3": [
            1560,
            360
          ],
          "systems-lab:partner": [
            480,
            1310
          ]
        },
        "presentation": "technical",
        "containers": [
          "systems-lab:aws",
          "systems-lab:ec2",
          "systems-lab:onprem",
          "systems-lab:vm",
          "systems-lab:cloudflare"
        ],
        "glyph": "network"
      }
    ],
    "evidence": [],
    "requirements": []
  },
  "presentation": {
    "theme": {
      "schemaVersion": "atlas.theme/1",
      "tokens": {
        "background": "#edf0f6",
        "panel": "#f7f8fc",
        "card": "#ffffff",
        "row": "#e8ecf7",
        "text": "#20283d",
        "muted": "#64708b",
        "border": "#d9dfeb",
        "accent": "#4263eb",
        "header": "#f7f8fc",
        "headerText": "#20283d",
        "typeText": "#087f8c",
        "architecture": "#4263eb",
        "behavior": "#8456d9",
        "interaction": "#bc438a",
        "runtime": "#b87917",
        "data": "#0c8b83",
        "specification": "#398552",
        "external": "#c66939",
        "fontSize": 13,
        "rowHeight": 28,
        "radius": 12
      }
    },
    "layers": [
      {
        "kind": "map",
        "label": "Architecture",
        "color": "#4263eb",
        "glyph": "network"
      },
      {
        "kind": "flow",
        "label": "Behavior",
        "color": "#8456d9",
        "glyph": "workflow"
      },
      {
        "kind": "sequence",
        "label": "Interactions",
        "color": "#bc438a",
        "glyph": "relationship"
      },
      {
        "kind": "deployment",
        "label": "Runtime",
        "color": "#b87917",
        "glyph": "private-host"
      },
      {
        "kind": "tables",
        "label": "Data",
        "color": "#0c8b83",
        "glyph": "relational-table"
      },
      {
        "kind": "spec",
        "label": "Specification",
        "color": "#398552",
        "glyph": "requirement"
      }
    ]
  }
}
