{
  // Teil 24: CI/CD Integration — Modell für validate, lint und diff in der Pipeline
  "specification": {
    "elements": {
      "actor":    { "notation": "Actor" },
      "system":   { "notation": "Software System", "container": true },
      "service":  { "notation": "Service",          "container": true },
      "database": { "notation": "Database" }
    },
    "relationships": {
      "uses": { "notation": "uses" }
    }
  },
  "model": {
    "developer": { "kind": "actor", "title": "Developer" },
    "ci":        { "kind": "actor", "title": "CI/CD Pipeline" },
    "shop": {
      "kind": "system", "title": "Online Shop",
      "description": "Produktionssystem",
      "children": {
        "api":          { "kind": "service",  "title": "REST API",       "technology": "Go",         "status": "deployed",       "description": "Haupteinsprung"   },
        "authservice":  { "kind": "service",  "title": "Auth Service",   "technology": "Go",         "status": "deployed",       "description": "JWT Auth"         },
        "db":           { "kind": "database", "title": "PostgreSQL",     "technology": "PostgreSQL", "status": "deployed",       "description": "Primäre DB"       }
      }
    }
  },
  "relationships": [
    { "from": "developer", "to": "shop",              "label": "entwickelt",    "kind": "uses" },
    { "from": "ci",        "to": "shop",              "label": "validate/lint", "kind": "uses" },
    { "from": "shop.api",  "to": "shop.authservice",  "label": "authenticate",  "kind": "uses" },
    { "from": "shop.api",  "to": "shop.db",           "label": "reads/writes",  "kind": "uses" }
  ],
  "views": {
    "context":    { "title": "System Context",   "include": ["developer", "ci", "shop"] },
    "containers": { "title": "Container View",   "scope": "shop", "include": ["shop.*"] }
  }
}
