{
  "title": "Workspace Spec",
  "description": "WorkspaceSpec is the kind-specific body of a `kind: Workspace` manifest.\n",
  "type": "object",
  "properties": {
    "description": {
      "description": "Description explains the workspace's purpose (AI readability).",
      "type": "string",
      "examples": [
        "Workspace utama aplikasi kafe demo"
      ]
    },
    "display_name": {
      "description": "Human-readable workspace name — shown in admin surfaces",
      "type": "string",
      "examples": [
        "Kafe Demo"
      ]
    },
    "owner_user_id": {
      "description": "Optional user ID seeded as workspace owner — empty = no seeded owner (first admin via setup wizard)",
      "type": "string"
    },
    "settings": {
      "description": "Free-form workspace metadata persisted to the registry row (json) — structured platform settings belong to kind: Config",
      "type": "object",
      "additionalProperties": {}
    },
    "slug": {
      "description": "URL-facing workspace slug — defaults to metadata.name; kebab-case, unique across the deployment",
      "type": "string",
      "examples": [
        "cafe"
      ],
      "pattern": "^[a-z0-9](-[a-z0-9])*$"
    }
  },
  "additionalProperties": false
}